diff options
author | Chip Salzenberg <chip@pobox.com> | 1999-07-22 09:43:36 -0400 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-07-26 11:03:07 +0000 |
commit | f5d5a27c761624409884a263632e1a922439502b (patch) | |
tree | c60b2eb2941b78a30c58667c88e3e27b071a5417 /opcode.h | |
parent | fad39ff13c300fe483c6155ea2883280e12fc89c (diff) | |
download | perl-f5d5a27c761624409884a263632e1a922439502b.tar.gz |
optimize method name lookup
Message-ID: <19990722134336.Q391@perlsupport.com>
Subject: [PATCH] OP_METHOD_NAMED
p4raw-id: //depot/perl@3768
Diffstat (limited to 'opcode.h')
-rw-r--r-- | opcode.h | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -358,10 +358,11 @@ typedef enum { OP_LOCK, /* 346 */ OP_THREADSV, /* 347 */ OP_SETSTATE, /* 348 */ + OP_METHOD_NAMED,/* 349 */ OP_max } opcode; -#define MAXO 349 +#define MAXO 350 START_EXTERN_C @@ -719,6 +720,7 @@ EXT char *PL_op_name[] = { "lock", "threadsv", "setstate", + "method_named", }; #endif @@ -1075,6 +1077,7 @@ EXT char *PL_op_desc[] = { "lock", "per-thread variable", "set statement info", + "method with known name", }; #endif @@ -1436,6 +1439,7 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = { Perl_pp_lock, Perl_pp_threadsv, Perl_pp_setstate, + Perl_pp_method_named, }; #endif @@ -1608,7 +1612,7 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { Perl_ck_null, /* cond_expr */ Perl_ck_null, /* andassign */ Perl_ck_null, /* orassign */ - Perl_ck_null, /* method */ + Perl_ck_method, /* method */ Perl_ck_subr, /* entersub */ Perl_ck_null, /* leavesub */ Perl_ck_fun, /* caller */ @@ -1792,6 +1796,7 @@ EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = { Perl_ck_rfun, /* lock */ Perl_ck_null, /* threadsv */ Perl_ck_null, /* setstate */ + Perl_ck_null, /* method_named */ }; #endif @@ -2148,6 +2153,7 @@ EXT U32 PL_opargs[] = { 0x00003604, /* lock */ 0x00000044, /* threadsv */ 0x00001404, /* setstate */ + 0x00000c40, /* method_named */ }; #endif |