diff options
author | Nicholas Clark <nick@ccl4.org> | 2005-12-22 11:23:34 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2005-12-22 11:23:34 +0000 |
commit | e26df76ac13ccf3f750bea05eac65b7ffffc7826 (patch) | |
tree | d11edf27d8ba34c895c8936275642e04a8ccebb9 /op.h | |
parent | 08247bd41cc7b76a946c65fcbf364608f5bde98d (diff) | |
download | perl-e26df76ac13ccf3f750bea05eac65b7ffffc7826.tar.gz |
Add an optimisation to allow proxy constant subroutines to be copied
as proxy constant subroutines in a new symbol table where possible.
(Rather than converting them to full blown constant subroutines and
instantiating 2 typeglobs)
p4raw-id: //depot/perl@26446
Diffstat (limited to 'op.h')
-rw-r--r-- | op.h | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -140,6 +140,7 @@ Deprecated. Use C<GIMME_V> instead. /* Private for OP_SASSIGN */ #define OPpASSIGN_BACKWARDS 64 /* Left & right switched. */ +#define OPpASSIGN_CV_TO_GV 128 /* Possible optimisation for constants. */ /* Private for OP_MATCH and OP_SUBST{,CONST} */ #define OPpRUNTIME 64 /* Pattern coming in on the stack */ @@ -181,6 +182,14 @@ Deprecated. Use C<GIMME_V> instead. #define OPpMAYBE_LVSUB 8 /* We might be an lvalue to return */ /* for OP_RV2?V, lower bits carry hints (currently only HINT_STRICT_REFS) */ + /* OP_RV2GV only */ +#define OPpDONT_INIT_GV 8 /* Call gv_fetchpv with GV_NOINIT */ +/* (Therefore will return whatever is currently in the symbol table, not + guaranteed to be a PVGV) */ + + /* OP_RV2CV only */ +#define OPpMAY_RETURN_CONSTANT 1 /* If a constant sub, return the constant */ + /* Private for OPs with TARGLEX */ /* (lower bits may carry MAXARG) */ #define OPpTARGET_MY 16 /* Target is PADMY. */ |