pp_dbstate() does an XS or non-XS subroutine call to &DB::DB;
move the SAVETMPS from before the (if CvISXSUB(cv)) test to the head of
both branches. This duplication of code is currently a noop, but will
shortly allow us to handle things differently in the two branches.
return NORMAL;
ENTER;
- SAVETMPS;
SAVEI32(PL_debug);
SAVESTACK_POS();
SPAGAIN;
if (CvISXSUB(cv)) {
+ SAVETMPS;
PUSHMARK(SP);
(void)(*CvXSUB(cv))(aTHX_ cv);
FREETMPS;
else {
PUSHBLOCK(cx, CXt_SUB, SP);
PUSHSUB_DB(cx);
+ SAVETMPS;
cx->blk_sub.retop = PL_op->op_next;
CvDEPTH(cv)++;
if (CvDEPTH(cv) >= 2) {