summaryrefslogtreecommitdiff
path: root/mg_raw.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2011-05-15 13:54:19 +0100
committerNicholas Clark <nick@ccl4.org>2011-06-11 10:39:59 +0200
commite0a73de458fc6a8b96ea80ab0485ce7bdabb4c8b (patch)
tree975adf1ca5ede1fafbda518f0c25887da53a7775 /mg_raw.h
parent6f83ef0e5a45c465f83de3304c5818ba44492250 (diff)
downloadperl-e0a73de458fc6a8b96ea80ab0485ce7bdabb4c8b.tar.gz
Store a flag for container/value magic in PL_magic_data.
Use this to replace S_is_container_magic() in mg.c with a direct lookup.
Diffstat (limited to 'mg_raw.h')
-rw-r--r--mg_raw.h40
1 files changed, 20 insertions, 20 deletions
diff --git a/mg_raw.h b/mg_raw.h
index 363e189b18..aebd7775ab 100644
--- a/mg_raw.h
+++ b/mg_raw.h
@@ -14,7 +14,7 @@
"/* overload_elem 'a' %OVERLOAD hash element */" },
{ 'c', "want_vtbl_ovrld",
"/* overload_table 'c' Holds overload table (AMT) on stash */" },
- { 'B', "want_vtbl_regexp",
+ { 'B', "want_vtbl_regexp | PERL_MAGIC_VALUE_MAGIC",
"/* bm 'B' Boyer-Moore (fast string search) */" },
{ 'D', "want_vtbl_regdata",
"/* regdata 'D' Regex match position data (@+ and @- vars) */" },
@@ -24,9 +24,9 @@
"/* env 'E' %ENV hash */" },
{ 'e', "want_vtbl_envelem",
"/* envelem 'e' %ENV hash element */" },
- { 'f', "want_vtbl_regdata",
+ { 'f', "want_vtbl_regdata | PERL_MAGIC_VALUE_MAGIC",
"/* fm 'f' Formline ('compiled' format) */" },
- { 'g', "want_vtbl_mglob",
+ { 'g', "want_vtbl_mglob | PERL_MAGIC_VALUE_MAGIC",
"/* regex_global 'g' m//g target / study()ed string */" },
{ 'H', "want_vtbl_hints",
"/* hints 'H' %^H hash */" },
@@ -36,55 +36,55 @@
"/* isa 'I' @ISA array */" },
{ 'i', "want_vtbl_isaelem",
"/* isaelem 'i' @ISA array element */" },
- { 'k', "want_vtbl_nkeys",
+ { 'k', "want_vtbl_nkeys | PERL_MAGIC_VALUE_MAGIC",
"/* nkeys 'k' scalar(keys()) lvalue */" },
{ 'L', "want_vtbl_dbline",
"/* dbfile 'L' Debugger %_<filename */" },
{ 'l', "magic_vtable_max",
"/* dbline 'l' Debugger %_<filename element */" },
- { 'o', "want_vtbl_collxfrm",
+ { 'o', "want_vtbl_collxfrm | PERL_MAGIC_VALUE_MAGIC",
"/* collxfrm 'o' Locale transformation */" },
- { 'P', "want_vtbl_pack",
+ { 'P', "want_vtbl_pack | PERL_MAGIC_VALUE_MAGIC",
"/* tied 'P' Tied array or hash */" },
{ 'p', "want_vtbl_packelem",
"/* tiedelem 'p' Tied array or hash element */" },
{ 'q', "want_vtbl_packelem",
"/* tiedscalar 'q' Tied scalar or handle */" },
- { 'r', "want_vtbl_regexp",
+ { 'r', "want_vtbl_regexp | PERL_MAGIC_VALUE_MAGIC",
"/* qr 'r' precompiled qr// regex */" },
{ 'S', "magic_vtable_max",
"/* sig 'S' %SIG hash */" },
{ 's', "want_vtbl_sigelem",
"/* sigelem 's' %SIG hash element */" },
- { 't', "want_vtbl_taint",
+ { 't', "want_vtbl_taint | PERL_MAGIC_VALUE_MAGIC",
"/* taint 't' Taintedness */" },
{ 'U', "want_vtbl_uvar",
"/* uvar 'U' Available for use by extensions */" },
- { 'v', "want_vtbl_vec",
+ { 'v', "want_vtbl_vec | PERL_MAGIC_VALUE_MAGIC",
"/* vec 'v' vec() lvalue */" },
- { 'V', "magic_vtable_max",
+ { 'V', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
"/* vstring 'V' SV was vstring literal */" },
- { 'w', "want_vtbl_utf8",
+ { 'w', "want_vtbl_utf8 | PERL_MAGIC_VALUE_MAGIC",
"/* utf8 'w' Cached UTF-8 information */" },
- { 'x', "want_vtbl_substr",
+ { 'x', "want_vtbl_substr | PERL_MAGIC_VALUE_MAGIC",
"/* substr 'x' substr() lvalue */" },
- { 'y', "want_vtbl_defelem",
+ { 'y', "want_vtbl_defelem | PERL_MAGIC_VALUE_MAGIC",
"/* defelem 'y' Shadow \"foreach\" iterator variable / smart parameter vivification */" },
- { '#', "want_vtbl_arylen",
+ { '#', "want_vtbl_arylen | PERL_MAGIC_VALUE_MAGIC",
"/* arylen '#' Array length ($#ary) */" },
- { '.', "want_vtbl_pos",
+ { '.', "want_vtbl_pos | PERL_MAGIC_VALUE_MAGIC",
"/* pos '.' pos() lvalue */" },
- { '<', "want_vtbl_backref",
+ { '<', "want_vtbl_backref | PERL_MAGIC_VALUE_MAGIC",
"/* backref '<' for weak ref data */" },
- { ':', "magic_vtable_max",
+ { ':', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
"/* symtab ':' extra data for symbol tables */" },
- { '%', "magic_vtable_max",
+ { '%', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
"/* rhash '%' extra data for restricted hashes */" },
- { '@', "magic_vtable_max",
+ { '@', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
"/* arylen_p '@' to move arylen out of XPVAV */" },
{ '~', "magic_vtable_max",
"/* ext '~' Available for use by extensions */" },
- { ']', "magic_vtable_max",
+ { ']', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
"/* checkcall ']' inlining/mutation of call to this CV */" },
/* ex: set ro: */