summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--opcode.h16
-rw-r--r--opnames.h58
-rw-r--r--regen/opcodes2
3 files changed, 38 insertions, 38 deletions
diff --git a/opcode.h b/opcode.h
index 4af0bcc110..fb8c1be177 100644
--- a/opcode.h
+++ b/opcode.h
@@ -329,7 +329,6 @@ EXTCONST char* const PL_op_name[] = {
"andassign",
"orassign",
"dorassign",
- "method",
"entersub",
"leavesub",
"leavesublv",
@@ -358,6 +357,7 @@ EXTCONST char* const PL_op_name[] = {
"dump",
"goto",
"exit",
+ "method",
"method_named",
"method_super",
"method_redir",
@@ -733,7 +733,6 @@ EXTCONST char* const PL_op_desc[] = {
"logical and assignment (&&=)",
"logical or assignment (||=)",
"defined or assignment (//=)",
- "method lookup",
"subroutine entry",
"subroutine exit",
"lvalue subroutine return",
@@ -762,6 +761,7 @@ EXTCONST char* const PL_op_desc[] = {
"dump",
"goto",
"exit",
+ "method lookup",
"method with known name",
"super with known name",
"redirect method with known name",
@@ -1151,7 +1151,6 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
Perl_pp_andassign, /* implemented by Perl_pp_and */
Perl_pp_orassign, /* implemented by Perl_pp_or */
Perl_pp_dorassign, /* implemented by Perl_pp_defined */
- Perl_pp_method,
Perl_pp_entersub,
Perl_pp_leavesub,
Perl_pp_leavesublv,
@@ -1180,6 +1179,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
Perl_pp_dump, /* implemented by Perl_pp_goto */
Perl_pp_goto,
Perl_pp_exit,
+ Perl_pp_method,
Perl_pp_method_named,
Perl_pp_method_super,
Perl_pp_method_redir,
@@ -1565,7 +1565,6 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_null, /* andassign */
Perl_ck_null, /* orassign */
Perl_ck_null, /* dorassign */
- Perl_ck_method, /* method */
Perl_ck_subr, /* entersub */
Perl_ck_null, /* leavesub */
Perl_ck_null, /* leavesublv */
@@ -1594,6 +1593,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_null, /* dump */
Perl_ck_null, /* goto */
Perl_ck_fun, /* exit */
+ Perl_ck_method, /* method */
Perl_ck_null, /* method_named */
Perl_ck_null, /* method_super */
Perl_ck_null, /* method_redir */
@@ -1973,7 +1973,6 @@ EXTCONST U32 PL_opargs[] = {
0x00000304, /* andassign */
0x00000304, /* orassign */
0x00000304, /* dorassign */
- 0x00000e40, /* method */
0x00002141, /* entersub */
0x00000100, /* leavesub */
0x00000100, /* leavesublv */
@@ -2002,6 +2001,7 @@ EXTCONST U32 PL_opargs[] = {
0x00000d44, /* dump */
0x00000d04, /* goto */
0x00009b04, /* exit */
+ 0x00000e40, /* method */
0x00000e40, /* method_named */
0x00000e40, /* method_super */
0x00000e40, /* method_redir */
@@ -2631,7 +2631,6 @@ EXTCONST I16 PL_op_private_bitdef_ix[] = {
0, /* andassign */
0, /* orassign */
0, /* dorassign */
- 0, /* method */
154, /* entersub */
161, /* leavesub */
161, /* leavesublv */
@@ -2660,6 +2659,7 @@ EXTCONST I16 PL_op_private_bitdef_ix[] = {
177, /* dump */
177, /* goto */
52, /* exit */
+ 0, /* method */
0, /* method_named */
0, /* method_super */
0, /* method_redir */
@@ -2862,7 +2862,7 @@ EXTCONST I16 PL_op_private_bitdef_ix[] = {
*/
EXTCONST U16 PL_op_private_bitdefs[] = {
- 0x0003, /* scalar, prototype, refgen, srefgen, readline, regcmaybe, regcreset, regcomp, substcont, chop, schop, defined, undef, study, preinc, i_preinc, predec, i_predec, postinc, i_postinc, postdec, i_postdec, negate, i_negate, not, complement, ucfirst, lcfirst, uc, lc, quotemeta, aeach, avalues, each, pop, shift, grepstart, mapstart, mapwhile, range, and, or, dor, andassign, orassign, dorassign, method, argcheck, argdefelem, method_named, method_super, method_redir, method_redir_super, entergiven, leavegiven, enterwhen, leavewhen, untie, tied, dbmclose, getsockname, getpeername, lstat, stat, readlink, readdir, telldir, rewinddir, closedir, localtime, alarm, require, dofile, entertry, ghbyname, gnbyname, gpbyname, shostent, snetent, sprotoent, sservent, gpwnam, gpwuid, ggrnam, ggrgid, lock, once, fc, anonconst */
+ 0x0003, /* scalar, prototype, refgen, srefgen, readline, regcmaybe, regcreset, regcomp, substcont, chop, schop, defined, undef, study, preinc, i_preinc, predec, i_predec, postinc, i_postinc, postdec, i_postdec, negate, i_negate, not, complement, ucfirst, lcfirst, uc, lc, quotemeta, aeach, avalues, each, pop, shift, grepstart, mapstart, mapwhile, range, and, or, dor, andassign, orassign, dorassign, argcheck, argdefelem, method, method_named, method_super, method_redir, method_redir_super, entergiven, leavegiven, enterwhen, leavewhen, untie, tied, dbmclose, getsockname, getpeername, lstat, stat, readlink, readdir, telldir, rewinddir, closedir, localtime, alarm, require, dofile, entertry, ghbyname, gnbyname, gpbyname, shostent, snetent, sprotoent, sservent, gpwnam, gpwuid, ggrnam, ggrgid, lock, once, fc, anonconst */
0x2e5c, 0x3f99, /* pushmark */
0x00bd, /* wantarray, runcv */
0x0498, 0x18d0, 0x404c, 0x3b08, 0x3225, /* const */
@@ -3120,7 +3120,6 @@ EXTCONST U8 PL_op_private_valid[] = {
/* ANDASSIGN */ (OPpARG1_MASK),
/* ORASSIGN */ (OPpARG1_MASK),
/* DORASSIGN */ (OPpARG1_MASK),
- /* METHOD */ (OPpARG1_MASK),
/* ENTERSUB */ (OPpENTERSUB_INARGS|OPpHINT_STRICT_REFS|OPpENTERSUB_HASTARG|OPpENTERSUB_AMPER|OPpDEREF|OPpENTERSUB_DB|OPpLVAL_INTRO),
/* LEAVESUB */ (OPpARG1_MASK|OPpREFCOUNTED),
/* LEAVESUBLV */ (OPpARG1_MASK|OPpREFCOUNTED),
@@ -3149,6 +3148,7 @@ EXTCONST U8 PL_op_private_valid[] = {
/* DUMP */ (OPpARG1_MASK|OPpPV_IS_UTF8),
/* GOTO */ (OPpARG1_MASK|OPpPV_IS_UTF8),
/* EXIT */ (OPpARG4_MASK),
+ /* METHOD */ (OPpARG1_MASK),
/* METHOD_NAMED */ (OPpARG1_MASK),
/* METHOD_SUPER */ (OPpARG1_MASK),
/* METHOD_REDIR */ (OPpARG1_MASK),
diff --git a/opnames.h b/opnames.h
index 62bed505de..55b6b4266b 100644
--- a/opnames.h
+++ b/opnames.h
@@ -197,35 +197,35 @@ typedef enum opcode {
OP_ANDASSIGN = 180,
OP_ORASSIGN = 181,
OP_DORASSIGN = 182,
- OP_METHOD = 183,
- OP_ENTERSUB = 184,
- OP_LEAVESUB = 185,
- OP_LEAVESUBLV = 186,
- OP_ARGCHECK = 187,
- OP_ARGELEM = 188,
- OP_ARGDEFELEM = 189,
- OP_CALLER = 190,
- OP_WARN = 191,
- OP_DIE = 192,
- OP_RESET = 193,
- OP_LINESEQ = 194,
- OP_NEXTSTATE = 195,
- OP_DBSTATE = 196,
- OP_UNSTACK = 197,
- OP_ENTER = 198,
- OP_LEAVE = 199,
- OP_SCOPE = 200,
- OP_ENTERITER = 201,
- OP_ITER = 202,
- OP_ENTERLOOP = 203,
- OP_LEAVELOOP = 204,
- OP_RETURN = 205,
- OP_LAST = 206,
- OP_NEXT = 207,
- OP_REDO = 208,
- OP_DUMP = 209,
- OP_GOTO = 210,
- OP_EXIT = 211,
+ OP_ENTERSUB = 183,
+ OP_LEAVESUB = 184,
+ OP_LEAVESUBLV = 185,
+ OP_ARGCHECK = 186,
+ OP_ARGELEM = 187,
+ OP_ARGDEFELEM = 188,
+ OP_CALLER = 189,
+ OP_WARN = 190,
+ OP_DIE = 191,
+ OP_RESET = 192,
+ OP_LINESEQ = 193,
+ OP_NEXTSTATE = 194,
+ OP_DBSTATE = 195,
+ OP_UNSTACK = 196,
+ OP_ENTER = 197,
+ OP_LEAVE = 198,
+ OP_SCOPE = 199,
+ OP_ENTERITER = 200,
+ OP_ITER = 201,
+ OP_ENTERLOOP = 202,
+ OP_LEAVELOOP = 203,
+ OP_RETURN = 204,
+ OP_LAST = 205,
+ OP_NEXT = 206,
+ OP_REDO = 207,
+ OP_DUMP = 208,
+ OP_GOTO = 209,
+ OP_EXIT = 210,
+ OP_METHOD = 211,
OP_METHOD_NAMED = 212,
OP_METHOD_SUPER = 213,
OP_METHOD_REDIR = 214,
diff --git a/regen/opcodes b/regen/opcodes
index 23c8cdc439..f1e439d0be 100644
--- a/regen/opcodes
+++ b/regen/opcodes
@@ -292,7 +292,6 @@ andassign logical and assignment (&&=) ck_null s|
orassign logical or assignment (||=) ck_null s|
dorassign defined or assignment (//=) ck_null s|
-method method lookup ck_method d.
entersub subroutine entry ck_subr dm1 L
leavesub subroutine exit ck_null 1
leavesublv lvalue subroutine return ck_null 1
@@ -322,6 +321,7 @@ redo redo ck_null s}
dump dump ck_null ds}
goto goto ck_null s}
exit exit ck_fun s% S?
+method method lookup ck_method d.
method_named method with known name ck_null d.
method_super super with known name ck_null d.
method_redir redirect method with known name ck_null d.