summaryrefslogtreecommitdiff
path: root/uconfig.h
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2018-11-18 15:46:07 -0700
committerKarl Williamson <khw@cpan.org>2018-11-26 22:24:33 -0700
commitdaced5aea4695da4ec9e629bb3153a865d480075 (patch)
treec3633bb76fcdbbfa56a9feae21317944481bb5aa /uconfig.h
parent5b864157a512a368408bbffe50b594a639cba56a (diff)
downloadperl-daced5aea4695da4ec9e629bb3153a865d480075.tar.gz
regexec.c: Use ANYOF bitmap lookup in more cases
ANYOFish nodes have a bitmap. If we know the value is in the bitmap range, then flags that apply to out-of-range values are irrelevant. Other flags being set indicate that the desired answer is more complicated than just using a bitmap lookup. But exclude this irrelevant flag from that calculation when we know the value is in the bitmap. There are other flags that it is possible to exclude, but not without further conditionals, or unsharing code, and are either rarely set or are for node types that we don't worry so much about optimal performance, like /l and /d. The changes introduced by this commit are determined at .c compile time except for a runtime mask, and hence don't introduce new branches that may destroy the instruction cache pipeline.
Diffstat (limited to 'uconfig.h')
0 files changed, 0 insertions, 0 deletions