Move retop first in structs block_sub, block_format and block_eval.
Nicholas Clark [Sun, 20 Jan 2008 21:05:26 +0000 (21:05 +0000)]
This simplifies some code in Perl_deb_stack_all().

p4raw-id: //depot/perl@33016

cop.h
deb.c

diff --git a/cop.h b/cop.h
index f8b32f8..209ee2a 100644 (file)
--- 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 3b85558..5e20dee 100644 (file)
--- 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)"