summaryrefslogtreecommitdiff
path: root/yjit/src
diff options
context:
space:
mode:
Diffstat (limited to 'yjit/src')
-rw-r--r--yjit/src/codegen.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs
index d7de29c5d3..4eaeebd503 100644
--- a/yjit/src/codegen.rs
+++ b/yjit/src/codegen.rs
@@ -7516,6 +7516,10 @@ fn gen_send_dynamic<F: Fn(&mut Assembler) -> Opnd>(
return None;
}
+ // Rewind stack_size using ctx.with_stack_size to allow stack_size changes
+ // before you return None.
+ asm.ctx = asm.ctx.with_stack_size(jit.stack_size_for_pc);
+
// Save PC and SP to prepare for dynamic dispatch
jit_prepare_non_leaf_call(jit, asm);