It it intended that eventually PUSHSUB() will do the SAVETMPS itself,
so move the SAVETMPS up so that it's next to the PUSHSUB.
There should be nothing between those two points that use the TEMPS stack,
so this commit should have no functional effect.
PUSHBLOCK(cx, CXt_SUB, MARK);
PUSHSUB(cx);
+ SAVETMPS;
+
cx->blk_sub.retop = PL_op->op_next;
if (UNLIKELY((depth = ++CvDEPTH(cv)) >= 2)) {
PERL_STACK_OVERFLOW_CHECK();
Copy(MARK+1,AvARRAY(av),items,SV*);
AvFILLp(av) = items - 1;
}
- SAVETMPS;
if (UNLIKELY((cx->blk_u16 & OPpENTERSUB_LVAL_MASK) == OPpLVAL_INTRO &&
!CvLVALUE(cv)))
DIE(aTHX_ "Can't modify non-lvalue subroutine call of &%"SVf,