summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cop.h9
-rw-r--r--deb.c3
2 files changed, 7 insertions, 5 deletions
diff --git a/cop.h b/cop.h
index f8b32f8d6b..209ee2a1cb 100644
--- a/cop.h
+++ b/cop.h
@@ -279,8 +279,9 @@ struct cop {
/* subroutine context */
struct block_sub {
- CV * cv;
OP * retop; /* op to execute on exit from sub */
+ /* Above here is the same for sub, format and eval. */
+ CV * cv;
U8 hasargs;
U8 lval; /* XXX merge lval and hasargs? */
/* Above here is the same for sub and format. */
@@ -293,8 +294,9 @@ struct block_sub {
/* format context */
struct block_format {
- CV * cv;
OP * retop; /* op to execute on exit from sub */
+ /* Above here is the same for sub, format and eval. */
+ CV * cv;
U8 hasargs;
U8 lval; /* XXX merge lval and hasargs? */
/* Above here is the same for sub and format. */
@@ -394,13 +396,14 @@ struct block_format {
/* eval context */
struct block_eval {
+ OP * retop; /* op to execute on exit from eval */
+ /* Above here is the same for sub, format and eval. */
U8 old_in_eval;
U16 old_op_type;
SV * old_namesv;
OP * old_eval_root;
SV * cur_text;
CV * cv;
- OP * retop; /* op to execute on exit from eval */
JMPENV * cur_top_env; /* value of PL_top_env when eval CX created */
};
diff --git a/deb.c b/deb.c
index 3b85558d7c..5e20dee026 100644
--- a/deb.c
+++ b/deb.c
@@ -293,8 +293,7 @@ Perl_deb_stack_all(pTHX)
if (CxTYPE(cx) == CXt_EVAL || CxTYPE(cx) == CXt_SUB
|| CxTYPE(cx) == CXt_FORMAT)
{
- const OP * const retop = (CxTYPE(cx) == CXt_EVAL)
- ? cx->blk_eval.retop : cx->blk_sub.retop;
+ const OP * const retop = cx->blk_sub.retop;
PerlIO_printf(Perl_debug_log, " retop=%s\n",
retop ? OP_NAME(retop) : "(null)"