diff options
author | Karl Williamson <khw@cpan.org> | 2018-11-18 15:46:07 -0700 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2018-11-26 22:24:33 -0700 |
commit | daced5aea4695da4ec9e629bb3153a865d480075 (patch) | |
tree | c3633bb76fcdbbfa56a9feae21317944481bb5aa /uconfig.h | |
parent | 5b864157a512a368408bbffe50b594a639cba56a (diff) | |
download | perl-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