diff options
author | Landon Fuller <landonf@bikemonkey.org> | 2011-02-12 11:14:54 -0500 |
---|---|---|
committer | Landon Fuller <landonf@bikemonkey.org> | 2011-02-12 11:14:54 -0500 |
commit | 56b3f8cef0f28cefaa0f40fe0cf7c524adef131d (patch) | |
tree | bebc95d014c8b6530116510e05bf9f7551b40972 | |
parent | 28a00f61ff3f64c4eb2269ce2aea3d493274469e (diff) | |
download | libffi-56b3f8cef0f28cefaa0f40fe0cf7c524adef131d.tar.gz |
Modify the ffi_closure structures to hold table/table entry pointers instead of a code buffer.
This re-integrates commit da2773e02ab26cc11a7f.
-rw-r--r-- | include/ffi.h.in | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/ffi.h.in b/include/ffi.h.in index 96b8fd3..747dd17 100644 --- a/include/ffi.h.in +++ b/include/ffi.h.in @@ -270,7 +270,12 @@ size_t ffi_java_raw_size (ffi_cif *cif); __declspec(align(8)) #endif typedef struct { +#if @FFI_EXEC_TRAMPOLINE_TABLE@ + void *trampoline_table; + void *trampoline_table_entry; +#else char tramp[FFI_TRAMPOLINE_SIZE]; +#endif ffi_cif *cif; void (*fun)(ffi_cif*,void*,void**,void*); void *user_data; @@ -303,7 +308,12 @@ ffi_prep_closure_loc (ffi_closure*, # pragma pack 8 #endif typedef struct { +#if @FFI_EXEC_TRAMPOLINE_TABLE@ + void *trampoline_table; + void *trampoline_table_entry; +#else char tramp[FFI_TRAMPOLINE_SIZE]; +#endif ffi_cif *cif; @@ -324,7 +334,12 @@ typedef struct { } ffi_raw_closure; typedef struct { +#if @FFI_EXEC_TRAMPOLINE_TABLE@ + void *trampoline_table; + void *trampoline_table_entry; +#else char tramp[FFI_TRAMPOLINE_SIZE]; +#endif ffi_cif *cif; |