summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Newton <[email protected]>2024-07-15 15:03:54 -0400
committerKevin Newton <[email protected]>2024-07-15 15:03:54 -0400
commit2911578ed7838ffaecbb4c7184f5db2a937fccbc (patch)
tree1aad7d2b7a32714890b0fb7189505ffdfc586a25
parentd989bc54e2f1b0bb577e068fce14da6b178b6b30 (diff)
[PRISM] Add missing rescue tracepoint for rescue modifier
-rw-r--r--prism_compile.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/prism_compile.c b/prism_compile.c
index 726543027e..3d3e2f8549 100644
--- a/prism_compile.c
+++ b/prism_compile.c
@@ -8319,9 +8319,11 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
lstart->rescued = LABEL_RESCUE_BEG;
lend->rescued = LABEL_RESCUE_END;
+
PUSH_LABEL(ret, lstart);
PM_COMPILE_NOT_POPPED(cast->expression);
PUSH_LABEL(ret, lend);
+
PUSH_INSN(ret, location, nop);
PUSH_LABEL(ret, lcont);
if (popped) PUSH_INSN(ret, location, pop);
@@ -9291,6 +9293,7 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
PUSH_INSNL(ret, location, branchif, lab);
PUSH_INSNL(ret, location, jump, rescue_end);
PUSH_LABEL(ret, lab);
+ PUSH_TRACE(ret, RUBY_EVENT_RESCUE);
PM_COMPILE((const pm_node_t *) scope_node->body);
PUSH_INSN(ret, location, leave);
PUSH_LABEL(ret, rescue_end);