mirror of
https://github.com/partic2/libffi
synced 2026-11-11 02:27:19 +00:00
x86: Rewrite closures
Move everything into sysv.S, removing win32.S and freebsd.S. Handle all abis with a single ffi_closure_inner function. Move complexity of the raw THISCALL trampoline into assembly instead of the trampoline itself. Only push the context for the REGISTER abi; let the rest receive it in a register.
This commit is contained in:
+1
-5
@@ -129,11 +129,7 @@ typedef enum ffi_abi {
|
||||
# define FFI_NATIVE_RAW_API 0
|
||||
# define FFI_GO_CLOSURES 1
|
||||
#else
|
||||
# ifdef X86_WIN32
|
||||
# define FFI_TRAMPOLINE_SIZE 52
|
||||
# else
|
||||
# define FFI_TRAMPOLINE_SIZE 10
|
||||
# endif
|
||||
# define FFI_TRAMPOLINE_SIZE 12
|
||||
# define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user