]> git.vpit.fr Git - perl/modules/Variable-Magic.git/commitdiff
Minimize the accesses to the optree during the uvar/clear hack
authorVincent Pit <vince@profvince.com>
Wed, 26 Oct 2011 20:43:38 +0000 (22:43 +0200)
committerVincent Pit <vince@profvince.com>
Wed, 26 Oct 2011 20:43:38 +0000 (22:43 +0200)
Magic.xs

index 1e6a77c823a99a7ddcdf3e3ffeece4b86dd630f4..7fee00e5773d0d1ffb29c8801d6ffb15ce9b4dd1 100644 (file)
--- a/Magic.xs
+++ b/Magic.xs
@@ -1305,16 +1305,16 @@ STATIC I32 vmg_svt_val(pTHX_ IV action, SV *sv) {
    * mistaken for a tied hash by the rest of hv_common. It will be reset by
    * the op_ppaddr of a new fake op injected between the current and the next
    * one. */
-  OP *o = PL_op;
-  if (!o->op_next || o->op_next->op_ppaddr != vmg_pp_resetuvar) {
+  OP *nop = PL_op->op_next;
+  if (!nop || nop->op_ppaddr != vmg_pp_resetuvar) {
    SVOP *svop;
    NewOp(1101, svop, 1, SVOP);
    svop->op_type   = OP_STUB;
    svop->op_ppaddr = vmg_pp_resetuvar;
-   svop->op_next   = o->op_next;
+   svop->op_next   = nop;
    svop->op_flags  = 0;
    svop->op_sv     = sv;
-   o->op_next      = (OP *) svop;
+   PL_op->op_next  = (OP *) svop;
   }
   SvRMAGICAL_off(sv);
  }