Fix ABI on 32-bit non-Windows x86: go back to trampoline size 10
authorJosh Triplett <josh@joshtriplett.org>
Sun, 6 Apr 2014 00:33:42 +0000 (17:33 -0700)
committerJosh Triplett <josh@joshtriplett.org>
Sun, 6 Apr 2014 00:33:42 +0000 (17:33 -0700)
commitb5fed601948237037513a9b7f967c8fc6c9ff1f6
treeb3f3532fea305b2b98c988567c27c40bce5eb632
parentc860a992fef5d7cd7bb0975b1632d17a9fafe007
Fix ABI on 32-bit non-Windows x86: go back to trampoline size 10

The trampoline size is part of the ABI, so it cannot change.  Move the
logic from the stdcall and thiscall trampolines to the functions they
call, to reduce them both to 10 bytes.

This drops the previously added support for raw THISCALL closures on
non-Windows.  (Non-raw THISCALL closures still work.)
src/x86/ffi.c
src/x86/ffitarget.h
src/x86/win32.S