This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Simplify double-nextstate optimisation
[perl5.git] / pp.h
diff --git a/pp.h b/pp.h
index a7e936c..f236185 100644 (file)
--- a/pp.h
+++ b/pp.h
@@ -379,8 +379,7 @@ Does not use C<TARG>.  See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
 
 #define ARGTARG                PL_op->op_targ
 
-    /* See OPpTARGET_MY: */
-#define MAXARG         (PL_op->op_private & 15)
+#define MAXARG         (PL_op->op_private & OPpARG4_MASK)
 
 #define SWITCHSTACK(f,t) \
     STMT_START {                                                       \
@@ -392,9 +391,10 @@ Does not use C<TARG>.  See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
     } STMT_END
 
 #define EXTEND_MORTAL(n) \
-    STMT_START {                                                       \
-       if (UNLIKELY(PL_tmps_ix + (n) >= PL_tmps_max))                  \
-           tmps_grow(n);                                               \
+    STMT_START {                                               \
+       SSize_t eMiX = PL_tmps_ix + (n);                        \
+       if (UNLIKELY(eMiX >= PL_tmps_max))                      \
+           (void)Perl_tmps_grow_p(aTHX_ eMiX);                 \
     } STMT_END
 
 #define AMGf_noright   1
@@ -480,15 +480,6 @@ Does not use C<TARG>.  See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
 
 
 #define opASSIGN (PL_op->op_flags & OPf_STACKED)
-#define SETsv(sv)      STMT_START {                                    \
-               if (opASSIGN || (SvFLAGS(TARG) & SVs_PADMY))            \
-                  { sv_setsv(TARG, (sv)); SETTARG; }                   \
-               else SETs(sv); } STMT_END
-
-#define SETsvUN(sv)    STMT_START {                                    \
-               if (SvFLAGS(TARG) & SVs_PADMY)          \
-                  { sv_setsv(TARG, (sv)); SETTARG; }                   \
-               else SETs(sv); } STMT_END
 
 /*
 =for apidoc mU||LVRET