once
- rv2gv refgen srefgen ref
+ rv2gv refgen srefgen ref refassign
bless -- could be used to change ownership of objects
(reblessing)
@{$bits{recv}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
$bits{redo}{0} = $bf[0];
$bits{ref}{0} = $bf[0];
+@{$bits{refassign}}{1,0} = ($bf[1], $bf[1]);
$bits{refgen}{0} = $bf[0];
$bits{regcmaybe}{0} = $bf[0];
$bits{regcomp}{0} = $bf[0];
"introcv",
"clonecv",
"padrange",
+ "refassign",
"freed",
};
#endif
"private subroutine",
"private subroutine",
"list of private variables",
+ "lvalue ref assignment",
"freed op",
};
#endif
Perl_pp_introcv,
Perl_pp_clonecv,
Perl_pp_padrange,
+ Perl_pp_refassign,
}
#endif
#ifdef PERL_PPADDR_INITED
Perl_ck_null, /* introcv */
Perl_ck_null, /* clonecv */
Perl_ck_null, /* padrange */
+ Perl_ck_null, /* refassign */
}
#endif
#ifdef PERL_CHECK_INITED
0x00000040, /* introcv */
0x00000040, /* clonecv */
0x00000040, /* padrange */
+ 0x00000240, /* refassign */
};
#endif
-1, /* introcv */
-1, /* clonecv */
630, /* padrange */
+ 632, /* refassign */
};
/* runcv */ 0x00bd,
/* fc */ 0x0003,
/* padrange */ 0x25bc, 0x019b,
+ /* refassign */ 0x0067,
};
/* INTROCV */ (0),
/* CLONECV */ (0),
/* PADRANGE */ (OPpPADRANGE_COUNTMASK|OPpLVAL_INTRO),
+ /* REFASSIGN */ (OPpARG2_MASK),
};
OP_INTROCV = 376,
OP_CLONECV = 377,
OP_PADRANGE = 378,
+ OP_REFASSIGN = 379,
OP_max
} opcode;
-#define MAXO 379
+#define MAXO 380
#define OP_FREED MAXO
/* the OP_IS_* macros are optimized to a simple range check because
RETURN;
}
+PP(pp_refassign)
+{
+ DIE(aTHX_ "Unimplemented");
+}
+
/*
* Local variables:
PERL_CALLCONV OP *Perl_pp_readlink(pTHX);
PERL_CALLCONV OP *Perl_pp_redo(pTHX);
PERL_CALLCONV OP *Perl_pp_ref(pTHX);
+PERL_CALLCONV OP *Perl_pp_refassign(pTHX);
PERL_CALLCONV OP *Perl_pp_refgen(pTHX);
PERL_CALLCONV OP *Perl_pp_regcomp(pTHX);
PERL_CALLCONV OP *Perl_pp_regcreset(pTHX);
introcv private subroutine ck_null d0
clonecv private subroutine ck_null d0
padrange list of private variables ck_null d0
+refassign lvalue ref assignment ck_null d2