diff options
author | Nicholas Clark <nick@ccl4.org> | 2011-05-15 13:54:19 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2011-06-11 10:39:59 +0200 |
commit | e0a73de458fc6a8b96ea80ab0485ce7bdabb4c8b (patch) | |
tree | 975adf1ca5ede1fafbda518f0c25887da53a7775 /mg_raw.h | |
parent | 6f83ef0e5a45c465f83de3304c5818ba44492250 (diff) | |
download | perl-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.h | 40 |
1 files changed, 20 insertions, 20 deletions
@@ -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: */ |