Some code in pp_leave that's been around in one form or another since
5.000, calculates the value of gimme in a complicated way, rather than
just using the saved value in the current context, like all the other
pp_leave* functions do.
I think this code is redundant; running the test suite with an assert that
the extra calculation doesn't change anything, doesn't produce any failures.
So out it goes.
(In particular. cxstack_ix can never be < 0 here.)
assert(CxTYPE(cx) == CXt_BLOCK);
newsp = PL_stack_base + cx->blk_oldsp;
gimme = cx->blk_gimme;
- gimme = OP_GIMME(PL_op, (cxstack_ix >= 0) ? gimme : G_SCALAR);
SP = (gimme == G_VOID)
? newsp