Takashi Kokubun 2026-07-09 07:13:05 +0000 (Thu, 09 Jul 2026)
New Revision: 9003f9f21a
https://github.com/ruby/ruby/commit/9003f9f21a
Log:
ZJIT: Avoid eager stack spills for inlined frame pushes (#17387)
PushInlineFrame keeps caller stack slots lazy. When an inlined callee
side-exits, install a caller JITFrame with a stack map on the exit path
so rb_zjit_materialize_frames can reconstruct older frames without
eagerly spilling at frame push.
Co-authored-by: Alan Wu <
ala...@ruby-lang.org>
Co-authored-by: Kevin Menard <
ke...@nirvdrum.com>
Modified files:
vm.c
zjit.h
zjit/bindgen/src/main.rs
zjit/src/backend/arm64/mod.rs
zjit/src/backend/lir.rs
zjit/src/backend/x86_64/mod.rs
zjit/src/codegen.rs
zjit/src/codegen_tests.rs
zjit/src/
cruby_bindings.inc.rs
zjit/src/hir.rs
zjit/src/hir/opt_tests.rs
zjit/src/hir/tests.rs