summaryrefslogtreecommitdiff
path: root/intrpvar.h
diff options
context:
space:
mode:
authorZefram <zefram@fysh.org>2010-04-21 00:00:09 +0100
committerDavid Mitchell <davem@iabyn.com>2010-04-25 13:24:29 +0100
commitfebb3a6d221072614a4dcfef3d3953e212e5cf6c (patch)
tree77ef0076d97be14c024406d9012b49db19234ad2 /intrpvar.h
parentdb93c0c46b34e8b2e37c671b7362d0fa2550f5f7 (diff)
downloadperl-febb3a6d221072614a4dcfef3d3953e212e5cf6c.tar.gz
unwinding target nominated by separate global
When unwinding due to die, the new global PL_restartjmpenv points to the JMP_ENV at which longjmping should stop and control should be transferred to PL_restartop. This replaces the previous use of cxstack[cxstack_ix+1].blk_eval.cur_top_env, located in a nominally-discarded context frame.
Diffstat (limited to 'intrpvar.h')
-rw-r--r--intrpvar.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/intrpvar.h b/intrpvar.h
index 8fe641c29c..4af88f686e 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -126,6 +126,7 @@ PERLVAR(Idefstash, HV *) /* main symbol table */
PERLVAR(Icurstash, HV *) /* symbol table for current package */
PERLVAR(Irestartop, OP *) /* propagating an error from croak? */
+PERLVAR(Irestartjmpenv, JMPENV *) /* target frame for longjmp in die */
PERLVAR(Icurcop, COP *)
PERLVAR(Icurstack, AV *) /* THE STACK */
PERLVAR(Icurstackinfo, PERL_SI *) /* current stack + context */