regcomp.c: Generate EXACTFU_SS only for non-UTF8
authorKarl Williamson <khw@cpan.org>
Sun, 16 Dec 2018 04:10:44 +0000 (21:10 -0700)
committerKarl Williamson <khw@cpan.org>
Wed, 26 Dec 2018 19:50:37 +0000 (12:50 -0700)
commita56633d124943ba26d859e646540b2c7ca8fa4c9
treefeaa5673ed199286a85216d4336c2c3fe82b17a8
parent817985d646817b410e3ca7ee60a1f3403c84b5b2
regcomp.c: Generate EXACTFU_SS only for non-UTF8

It turns out that now, the regular methods for handling multi-character
folds work for the ones involving LATIN SMALL LETTER SHARP S when the
pattern is in UTF-8.  So the special code for handling this case can be
removed, and a regular EXACTFU node is generated.  This has the
advantage of being trie-able, and requiring fewer operations at run
time, as the pattern is pre-folded at compile time, and doesn't have to
be re-folded during each backtracking at run-time.

This means that the EXACTFU_SS node type will only be generated for
non-UTF-8 patterns, and the handling of it is unchanged in these cases.
pod/perldebguts.pod
regcomp.c
regcomp.sym
regexec.c
regnodes.h