]> git.vpit.fr Git - perl/modules/autovivification.git/commitdiff
Help the compiler optimize the PL_op->op_private hack
authorVincent Pit <vince@profvince.com>
Mon, 15 Jun 2009 13:44:06 +0000 (15:44 +0200)
committerVincent Pit <vince@profvince.com>
Mon, 15 Jun 2009 13:44:06 +0000 (15:44 +0200)
autovivification.xs

index 4b311f6a4ac00a65713fbcab7d8fa93093ada5de..64fbc2e2c68181d31627072a41edad49c76cb96f 100644 (file)
@@ -304,9 +304,8 @@ STATIC OP *a_pp_deref(pTHX) {
   U8 old_private;
 
 deref:
-  old_private = PL_op->op_private;
-  PL_op->op_private &= ~OPpDEREF;
-  PL_op->op_private |= OPpLVAL_DEFER;
+  old_private       = PL_op->op_private;
+  PL_op->op_private = ((old_private & ~OPpDEREF) | OPpLVAL_DEFER);
   o = CALL_FPTR(oi.old_pp)(aTHX);
   PL_op->op_private = old_private;