summaryrefslogtreecommitdiff
path: root/opcode.h
diff options
context:
space:
mode:
authorChip Salzenberg <chip@pobox.com>1999-07-22 09:43:36 -0400
committerGurusamy Sarathy <gsar@cpan.org>1999-07-26 11:03:07 +0000
commitf5d5a27c761624409884a263632e1a922439502b (patch)
treec60b2eb2941b78a30c58667c88e3e27b071a5417 /opcode.h
parentfad39ff13c300fe483c6155ea2883280e12fc89c (diff)
downloadperl-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.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/opcode.h b/opcode.h
index 01a36a0503..58d86ea766 100644
--- a/opcode.h
+++ b/opcode.h
@@ -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