You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We originally switched to CDECL because of concerns that the stack growth check was going to require more registers than were available under the fastcall convention. It turns out that LLVM optimizes unexported functions to fastcall (and disabling that behavior is not straightforward) so we had to support stack growth with fastcall anyway. The only time we actually have to spill the stack growth check onto the stack is on i386 OS X where the fastcall frame size is greater than 256 bytes. Not using fastcall because of that is potentially a big price to pay.
The text was updated successfully, but these errors were encountered:
We originally switched to CDECL because of concerns that the stack growth check was going to require more registers than were available under the fastcall convention. It turns out that LLVM optimizes unexported functions to fastcall (and disabling that behavior is not straightforward) so we had to support stack growth with fastcall anyway. The only time we actually have to spill the stack growth check onto the stack is on i386 OS X where the fastcall frame size is greater than 256 bytes. Not using fastcall because of that is potentially a big price to pay.
The text was updated successfully, but these errors were encountered: