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
FFI_TYPE_VECTOR (SIMD) type support with libffi-computed layout, for aarch64 and x86-64 (#1000, closes #773).
ffi_call_plan_size — report the total memory a reusable call plan owns, for embedders that account for the memory held by long-lived plans.
powerpc64 ELFv2 _Complex long double support for both IBM-128 (double-double) and IEEE-128 formats (#1003, closes #1001).
Fixes
powerpc64 big-endian ELFv2 closures returning 5-, 6-, or 7-byte structs: missing return jump-table entries produced a wrong result and leaked a libffi code pointer.
ia64 return-value jump-table desync after the FFI_TYPE_LAST bump, which corrupted small-struct and HFA returns.
powerpc Darwin closure returns broken by #951 (#1002).
i386 FreeBSD/OpenBSD small structs now returned in registers (1, 2, 4, or 8 bytes), matching the platform ABI and fixing a segfault on struct returns through ffi_call and closures.
Performance
Cache the static trampoline "unsupported" verdict on hosts whose page size exceeds the trampoline table mapping, avoiding redundant re-initialization on every closure allocation (e.g. 64K-page aarch64).