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
[release/8.0-staging] Fix SysV first/second return register GC info mismatch (#116208)
* JIT: Fix SysV first/second return register GC info mismatch when generating calls
* Fix struct ReturnKind on SysV AMD64.
On SysV AMD64, structs returned in a float and int reg pair were being
classified as RT_Scalar_XX. This causes downstream consumers
(e.g., HijackFrame::GcScanRoots) to look for obj/byref's in
the second int reg. Per the ABI, however, the first float is passed
through a float reg and the obj/byref is passed through the _first_
int reg. We now detect and fix this case by skipping the first float
type in the ReturnKind encoding and moving the second type into the
first.
Fix#115815
---------
Co-authored-by: zengandrew <7494393+zengandrew@users.noreply.github.com>
0 commit comments