summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);