The gimme value is here needed for reversing the stack sanitization that happens in pp_entersub. Hence we really need the gimme value for the topmost op.
I32 items = ud->items - 1;
I32 gimme, mark;
I32 items = ud->items - 1;
I32 gimme, mark;
if (cxstack_ix > cxix)
dounwind(cxix);
if (cxstack_ix > cxix)
dounwind(cxix);
mark = PL_markstack[cxstack[cxix].blk_oldmarksp];
mark = PL_markstack[cxstack[cxix].blk_oldmarksp];
if (gimme == G_SCALAR) {
*PL_markstack_ptr = PL_stack_sp - PL_stack_base;
PL_stack_sp += items;
if (gimme == G_SCALAR) {
*PL_markstack_ptr = PL_stack_sp - PL_stack_base;
PL_stack_sp += items;