1a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project/* -----------------------------------------------------------------*-C-*- 2a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc. 3a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project Target configuration macros for MIPS. 4a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 5a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project Permission is hereby granted, free of charge, to any person obtaining 6a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project a copy of this software and associated documentation files (the 7a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ``Software''), to deal in the Software without restriction, including 8a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project without limitation the rights to use, copy, modify, merge, publish, 9a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project distribute, sublicense, and/or sell copies of the Software, and to 10a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project permit persons to whom the Software is furnished to do so, subject to 11a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project the following conditions: 12a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 13a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project The above copyright notice and this permission notice shall be included 14a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project in all copies or substantial portions of the Software. 15a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 16a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, 17a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project DEALINGS IN THE SOFTWARE. 24a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 25a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project ----------------------------------------------------------------------- */ 26a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 27a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#ifndef LIBFFI_TARGET_H 28a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define LIBFFI_TARGET_H 29a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 30a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#ifdef linux 31a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#include <asm/sgidefs.h> 32a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# ifndef _ABIN32 33a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define _ABIN32 _MIPS_SIM_NABI32 34a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# endif 35a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# ifndef _ABI64 36a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define _ABI64 _MIPS_SIM_ABI64 37a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# endif 38a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# ifndef _ABIO32 39a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define _ABIO32 _MIPS_SIM_ABI32 40a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# endif 41a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif 42a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 43a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#if !defined(_MIPS_SIM) 44a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project-- something is very wrong -- 45a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#else 46a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# if (_MIPS_SIM==_ABIN32 && defined(_ABIN32)) || (_MIPS_SIM==_ABI64 && defined(_ABI64)) 47a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define FFI_MIPS_N32 48a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# else 49a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# if (_MIPS_SIM==_ABIO32 && defined(_ABIO32)) 50a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define FFI_MIPS_O32 51a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# else 52a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project-- this is an unsupported platform -- 53a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# endif 54a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# endif 55a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif 56a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 57a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#ifdef FFI_MIPS_O32 58a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project/* O32 stack frames have 32bit integer args */ 59a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define FFI_SIZEOF_ARG 4 60a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#else 61a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project/* N32 and N64 frames have 64bit integer args */ 62a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define FFI_SIZEOF_ARG 8 63a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# if _MIPS_SIM == _ABIN32 64a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define FFI_SIZEOF_JAVA_RAW 4 65a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# endif 66a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif 67a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 68a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_FLAG_BITS 2 69a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 70a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project/* SGI's strange assembler requires that we multiply by 4 rather 71a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project than shift left by FFI_FLAG_BITS */ 72a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 73a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_ARGS_D FFI_TYPE_DOUBLE 74a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_ARGS_F FFI_TYPE_FLOAT 75a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_ARGS_DD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_DOUBLE 76a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_ARGS_FF FFI_TYPE_FLOAT * 4 + FFI_TYPE_FLOAT 77a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_ARGS_FD FFI_TYPE_DOUBLE * 4 + FFI_TYPE_FLOAT 78a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_ARGS_DF FFI_TYPE_FLOAT * 4 + FFI_TYPE_DOUBLE 79a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 80a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project/* Needed for N32 structure returns */ 81a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TYPE_SMALLSTRUCT FFI_TYPE_UINT8 82a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TYPE_SMALLSTRUCT2 FFI_TYPE_SINT8 83a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 84a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#if 0 85a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project/* The SGI assembler can't handle this.. */ 86a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TYPE_STRUCT_DD (( FFI_ARGS_DD ) << 4) + FFI_TYPE_STRUCT 87a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project/* (and so on) */ 88a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#else 89a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project/* ...so we calculate these by hand! */ 90a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TYPE_STRUCT_D 61 91a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TYPE_STRUCT_F 45 92a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TYPE_STRUCT_DD 253 93a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TYPE_STRUCT_FF 173 94a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TYPE_STRUCT_FD 237 95a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TYPE_STRUCT_DF 189 96a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TYPE_STRUCT_SMALL 93 97a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TYPE_STRUCT_SMALL2 109 98a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif 99a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 100a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#ifdef LIBFFI_ASM 101a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define v0 $2 102a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define v1 $3 103a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define a0 $4 104a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define a1 $5 105a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define a2 $6 106a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define a3 $7 107a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define a4 $8 108a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define a5 $9 109a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define a6 $10 110a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define a7 $11 111a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define t0 $8 112a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define t1 $9 113a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define t2 $10 114a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define t3 $11 115a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define t4 $12 116a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define t5 $13 117a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define t6 $14 118a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define t7 $15 119a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define t8 $24 120a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define t9 $25 121a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define ra $31 122a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 123a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#ifdef FFI_MIPS_O32 124a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define REG_L lw 125a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define REG_S sw 126a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define SUBU subu 127a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define ADDU addu 128a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define SRL srl 129a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define LI li 130a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#else /* !FFI_MIPS_O32 */ 131a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define REG_L ld 132a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define REG_S sd 133a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define SUBU dsubu 134a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define ADDU daddu 135a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define SRL dsrl 136a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define LI dli 137a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# if (_MIPS_SIM==_ABI64) 138a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define LA dla 139a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define EH_FRAME_ALIGN 3 140a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define FDE_ADDR_BYTES .8byte 141a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# else 142a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define LA la 143a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define EH_FRAME_ALIGN 2 144a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define FDE_ADDR_BYTES .4byte 145a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# endif /* _MIPS_SIM==_ABI64 */ 146a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif /* !FFI_MIPS_O32 */ 147a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#else /* !LIBFFI_ASM */ 148a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#ifdef FFI_MIPS_O32 149a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project/* O32 stack frames have 32bit integer args */ 150a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projecttypedef unsigned int ffi_arg __attribute__((__mode__(__SI__))); 151a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projecttypedef signed int ffi_sarg __attribute__((__mode__(__SI__))); 152a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#else 153a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project/* N32 and N64 frames have 64bit integer args */ 154a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projecttypedef unsigned int ffi_arg __attribute__((__mode__(__DI__))); 155a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projecttypedef signed int ffi_sarg __attribute__((__mode__(__DI__))); 156a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif 157a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 158a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Projecttypedef enum ffi_abi { 159a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project FFI_FIRST_ABI = 0, 160a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project FFI_O32, 161a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project FFI_N32, 162a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project FFI_N64, 163a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project FFI_O32_SOFT_FLOAT, 164a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 165a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#ifdef FFI_MIPS_O32 166a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#ifdef __mips_soft_float 167a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project FFI_DEFAULT_ABI = FFI_O32_SOFT_FLOAT, 168a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#else 169a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project FFI_DEFAULT_ABI = FFI_O32, 170a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif 171a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#else 172a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# if _MIPS_SIM==_ABI64 173a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project FFI_DEFAULT_ABI = FFI_N64, 174a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# else 175a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project FFI_DEFAULT_ABI = FFI_N32, 176a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# endif 177a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif 178a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 179a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project FFI_LAST_ABI = FFI_DEFAULT_ABI + 1 180a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project} ffi_abi; 181a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 182a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_EXTRA_CIF_FIELDS unsigned rstruct_flag 183a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif /* !LIBFFI_ASM */ 184a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 185a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project/* ---- Definitions for closures ----------------------------------------- */ 186a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 187a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#if defined(FFI_MIPS_O32) 188a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_CLOSURES 1 189a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TRAMPOLINE_SIZE 20 190a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#else 191a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project/* N32/N64. */ 192a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project# define FFI_CLOSURES 1 193a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#if _MIPS_SIM==_ABI64 194a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TRAMPOLINE_SIZE 52 195a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#else 196a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_TRAMPOLINE_SIZE 20 197a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif 198a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif /* FFI_MIPS_O32 */ 199a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#define FFI_NATIVE_RAW_API 0 200a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 201a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project#endif 202a89495f48f185779ff7d9d64ce6e6b037c9ded87The Android Open Source Project 203