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