summaryrefslogtreecommitdiff
path: root/gv.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2005-12-20 19:55:46 +0000
committerNicholas Clark <nick@ccl4.org>2005-12-20 19:55:46 +0000
commitadd2581e58e8d35079b402632186684a5cef9cd2 (patch)
tree589047536ba114f1b37f5a3e2dab60b2dea75d6b /gv.h
parent0bcc798661c94fefec5a89ff3321c5a519313444 (diff)
downloadperl-add2581e58e8d35079b402632186684a5cef9cd2.tar.gz
Add a GV_NOADD_NOINIT flag to gv_fetch{pv,pvn,sv} that disables
addition of new typeglobs, and also disables initialisation of any typeglob placeholders. Needed to make the new constant subroutine proxy references work efficiently. p4raw-id: //depot/perl@26425
Diffstat (limited to 'gv.h')
-rw-r--r--gv.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gv.h b/gv.h
index f1794943e4..73814a82ec 100644
--- a/gv.h
+++ b/gv.h
@@ -162,6 +162,11 @@ Return the SV from the GV.
#define GV_ADDWARN 0x04 /* add, but warn if symbol wasn't already there */
#define GV_ADDINEVAL 0x08 /* add, as though we're doing so within an eval */
#define GV_NOINIT 0x10 /* add, but don't init symbol, if type != PVGV */
+/* This is used by toke.c to avoid turing placeholder constants in the symbol
+ table into full PVGVs with attached constant subroutines. */
+#define GV_NOADD_NOINIT 0x20 /* Don't add the symbol if it's not there.
+ Don't init it if it is there but ! PVGV */
+
/* SVf_UTF8 (more accurately the return value from SvUTF8) is also valid
as a flag to gv_fetch_pvn_flags, so ensure it lies outside this range.
*/