once
- rv2gv refgen srefgen ref refassign
+ rv2gv refgen srefgen ref refassign lvref
bless -- could be used to change ownership of objects
(reblessing)
@{$bits{lslice}}{1,0} = ($bf[1], $bf[1]);
$bits{lstat}{0} = $bf[0];
@{$bits{lt}}{1,0} = ($bf[1], $bf[1]);
+$bits{lvref}{0} = $bf[0];
$bits{mapwhile}{0} = $bf[0];
$bits{method}{0} = $bf[0];
$bits{method_named}{0} = $bf[0];
"clonecv",
"padrange",
"refassign",
+ "lvref",
"freed",
};
#endif
"private subroutine",
"list of private variables",
"lvalue ref assignment",
+ "lvalue ref assignment",
"freed op",
};
#endif
Perl_pp_clonecv,
Perl_pp_padrange,
Perl_pp_refassign,
+ Perl_pp_lvref,
}
#endif
#ifdef PERL_PPADDR_INITED
Perl_ck_null, /* clonecv */
Perl_ck_null, /* padrange */
Perl_ck_refassign, /* refassign */
+ Perl_ck_null, /* lvref */
}
#endif
#ifdef PERL_CHECK_INITED
0x00000040, /* clonecv */
0x00000040, /* padrange */
0x00000240, /* refassign */
+ 0x00000140, /* lvref */
};
#endif
-1, /* clonecv */
630, /* padrange */
632, /* refassign */
+ 634, /* lvref */
};
/* fc */ 0x0003,
/* padrange */ 0x25bc, 0x019b,
/* refassign */ 0x25bc, 0x0067,
+ /* lvref */ 0x0003,
};
/* CLONECV */ (0),
/* PADRANGE */ (OPpPADRANGE_COUNTMASK|OPpLVAL_INTRO),
/* REFASSIGN */ (OPpARG2_MASK|OPpLVAL_INTRO),
+ /* LVREF */ (OPpARG1_MASK),
};
OP_CLONECV = 377,
OP_PADRANGE = 378,
OP_REFASSIGN = 379,
+ OP_LVREF = 380,
OP_max
} opcode;
-#define MAXO 380
+#define MAXO 381
#define OP_FREED MAXO
/* the OP_IS_* macros are optimized to a simple range check because
RETURN;
}
+PP(pp_lvref)
+{
+ DIE(aTHX_ "Unimplemented");
+}
/*
* Local variables:
PERL_CALLCONV OP *Perl_pp_lock(pTHX);
PERL_CALLCONV OP *Perl_pp_lslice(pTHX);
PERL_CALLCONV OP *Perl_pp_lt(pTHX);
+PERL_CALLCONV OP *Perl_pp_lvref(pTHX);
PERL_CALLCONV OP *Perl_pp_mapwhile(pTHX);
PERL_CALLCONV OP *Perl_pp_match(pTHX);
PERL_CALLCONV OP *Perl_pp_method(pTHX);
$args = '' unless defined $args;
warn qq[Description "$desc" duplicates $seen{$desc}\n]
- if $seen{$desc} and $key !~ "transr|(?:intro|clone)cv";
+ if $seen{$desc} and $key !~ "transr|(?:intro|clone)cv|lvref";
die qq[Opcode "$key" duplicates $seen{$key}\n] if $seen{$key};
die qq[Opcode "freed" is reserved for the slab allocator\n]
if $key eq 'freed';
clonecv private subroutine ck_null d0
padrange list of private variables ck_null d0
refassign lvalue ref assignment ck_refassign d2
+lvref lvalue ref assignment ck_null d1