summaryrefslogtreecommitdiff
path: root/lib/File
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2013-07-03 19:51:45 -0600
committerKarl Williamson <public@khwilliamson.com>2013-07-03 19:51:45 -0600
commitdab1d6f279e5792c6a935eeaeeec652a883df979 (patch)
tree3b83940e35f28b4e594bf89d4c66038363d5d742 /lib/File
parentccbd2626ed2f48a52d8b29a6c007fb3736570c9e (diff)
parente0ce103ae532f9576f54a5938a24d1ee98dfb928 (diff)
downloadperl-dab1d6f279e5792c6a935eeaeeec652a883df979.tar.gz
Merge branch 'const_posix_invlists' into blead
What characters certain POSIX classes match, like [[:xdigit:]] are compiled into a C header file, thus avoiding the necessity of reading them in from disk at run-time. This merge makes those fully const, so that they can get loaded as part of a read-only text segment. The sv's that contain these are set so that SvLEN is 0; this means (from my looking at the code without any experience in this area) that copies are not made when they are dup'd, such as when threads are created. A new svtype is created for inversion lists, using the single available slot, renumbering them. The first few commits instead use an existing svtype, repurposing some of its fields for use by inversion lists. This was done so that this could be done in a maintenance release, if necessary. (Their not being fully const can interfere with -DPERL_GLOBAL_STRUCT_PRIVATE.) And also, should it become necessary to create an svtype for some other purpose, we can revert to that point in the branch.
Diffstat (limited to 'lib/File')
0 files changed, 0 insertions, 0 deletions