From: chromatic Date: Tue, 22 Sep 2009 15:33:33 +0000 (-0700) Subject: push in Void Context X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=9cdcb38b4c31a45dcd09aebdede952de356c30f0;p=p5sagit%2Fp5-mst-13.2.git push in Void Context The attached patch avoids pushing an IV onto the stack for a push op in void context. The "Is there attached magic" branch in the op checks for void context as does the non-magical branch in the unshift op. -- c [Edited version of patch after review by Yitzchak Scott-Thoennes] --- diff --git a/pp.c b/pp.c index e3b7798..fae2d6d 100644 --- a/pp.c +++ b/pp.c @@ -4738,7 +4738,9 @@ PP(pp_push) PL_delaymagic = 0; SP = ORIGMARK; - PUSHi( AvFILLp(ary) + 1 ); + if (OP_GIMME(PL_op, 0) != G_VOID) { + PUSHi( AvFILL(ary) + 1 ); + } } RETURN; }