MSVC can add runtime code that checks if a stack frame is mismanaged,
however our custom assembly deliberately accesses and modifies the parent
stack frame. Fortunately we can disable that specific check for the
function call so do that.
Co-authored-by: Ole André Vadla Ravnås <oleavr@gmail.com>
Co-authored-by: Matthew Waters <matthew@centricular.com>
This is a fake implementation, which piggy-backs on the x64 standard
calling convention and __fastcall, for x86_64 and x86 respectively,
without any modifications. It won't work for some vector type
parameters and for any HVA types. Since SIMD vector types and HVA are
not supported by ext/ffi anyway, only float/double parameters would be
a real issue.
This is a fake implementation, which piggy-backs on the x64 standard
calling convention and __fastcall, for x86_64 and x86 respectively,
without any modifications. It won't work for some vector type
parameters and for any HVA types. Since SIMD vector types and HVA are
not supported by ext/ffi anyway, only float/double parameters would be
a real issue.