diff options
-rw-r--r-- | opcode.h | 16 | ||||
-rw-r--r-- | opnames.h | 58 | ||||
-rw-r--r-- | regen/opcodes | 2 |
3 files changed, 38 insertions, 38 deletions
@@ -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), @@ -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. |