diff options
author | Karl Williamson <khw@cpan.org> | 2018-03-13 21:52:15 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2018-03-14 09:35:35 -0600 |
commit | 744ebf52f3e4ca5e41d9ce8bc68e10cae14592a0 (patch) | |
tree | 2a41d4ff70b04876f40f0e5b442f470465b5c476 /perlvars.h | |
parent | 32a62865ef662fce2b2250a7e0eca15861e7fe20 (diff) | |
download | perl-744ebf52f3e4ca5e41d9ce8bc68e10cae14592a0.tar.gz |
Make Unicode data structures global
These structures are read-only, use const C strings, and are truly
global, so no need to have them be interpreter level. This saves
duplicating and freeing them as threads come and go.
In doing this, I noticed that not every one was properly being
copied/deallocated, so this fixes some potential unreported bugs, and
leaks.
Diffstat (limited to 'perlvars.h')
-rw-r--r-- | perlvars.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/perlvars.h b/perlvars.h index ac97ebcd99..e3ded3c7ef 100644 --- a/perlvars.h +++ b/perlvars.h @@ -271,3 +271,27 @@ PERLVARA(G, hash_chars, (1+256) * sizeof(U32), unsigned char) /* perl.c and hv.h #ifdef __VMS PERLVAR(G, perllib_sep, char) #endif + +PERLVAR(G, AboveLatin1, SV *) +PERLVAR(G, Assigned_invlist, SV *) +PERLVAR(G, GCB_invlist, SV *) +PERLVAR(G, HasMultiCharFold, SV *) +PERLVAR(G, Latin1, SV *) +PERLVAR(G, LB_invlist, SV *) +PERLVAR(G, NonL1NonFinalFold, SV *) +PERLVAR(G, SB_invlist, SV *) +PERLVAR(G, SCX_invlist, SV *) +PERLVAR(G, UpperLatin1, SV *) /* Code points 128 - 255 */ + +/* List of characters that participate in folds (except marks, etc in + * multi-char folds) */ +PERLVARI(G, utf8_foldable, SV *, NULL) + +PERLVAR(G, utf8_idcont, SV *) +PERLVAR(G, utf8_idstart, SV *) +PERLVAR(G, utf8_perl_idcont, SV *) +PERLVAR(G, utf8_perl_idstart, SV *) +PERLVAR(G, utf8_xidcont, SV *) +PERLVAR(G, utf8_xidstart, SV *) +PERLVAR(G, WB_invlist, SV *) +PERLVARA(G, XPosix_ptrs, POSIX_CC_COUNT, SV *) |