summaryrefslogtreecommitdiff
path: root/dist/Carp
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2020-05-21 10:07:50 -0600
committerKarl Williamson <khw@cpan.org>2022-07-01 11:07:55 -0600
commitd62feba66bf43f35d092bb026694f927e9f94d38 (patch)
treeacdb47a399994d59f65b1cb1d2f58e5a611b13aa /dist/Carp
parentc5321c9615e8ff5e65c601de5fd409878da8568b (diff)
downloadperl-d62feba66bf43f35d092bb026694f927e9f94d38.tar.gz
regex: Add POSIXA1R node
Several of the POSIXA classes are a single range on ASCII platforms, and [:digit:] is a single range on both ASCII and EBCDIC. This regnode was designed to replace the POSIXA regnode for such classes to get a bit of performance by not needing to do an array lookup. Instead it encodes some bits in the flags field that with shifting and masking get the right values for the single range's bounds for any such node. However, performance tests conducted by Sergey Aleynikov showed this was actually slower than what it intended to replace. Rather than completely drop this work, I'm adding it to blead, and immediately reverting it, so that should parts of it ever become useful, it would be available. A few tests fail; those are skipped for the purposes of this commit so that it doesn't interfere with bisecting. The code also isn't completely commented. One could add a regnode for each posix class it was decided should have the expected performance boost. But regnodes are a finite resource, and the boost is probably not large enough to justify doing so.
Diffstat (limited to 'dist/Carp')
-rw-r--r--dist/Carp/t/arg_regexp.t3
-rw-r--r--dist/Carp/t/arg_string.t3
2 files changed, 4 insertions, 2 deletions
diff --git a/dist/Carp/t/arg_regexp.t b/dist/Carp/t/arg_regexp.t
index 83e8f0359f..d0f0b6ee68 100644
--- a/dist/Carp/t/arg_regexp.t
+++ b/dist/Carp/t/arg_regexp.t
@@ -3,7 +3,8 @@ use strict;
# confirm that regexp-typed stack args are displayed correctly by longmess()
-use Test::More tests => 42;
+use Test::More;
+plan skip_all => 'temporary';
use Carp ();
diff --git a/dist/Carp/t/arg_string.t b/dist/Carp/t/arg_string.t
index 544a4fe059..bcbacf32c2 100644
--- a/dist/Carp/t/arg_string.t
+++ b/dist/Carp/t/arg_string.t
@@ -3,7 +3,8 @@ use strict;
# confirm that string-typed stack args are displayed correctly by longmess()
-use Test::More tests => 33;
+use Test::More;
+plan skip_all => 'temporary';
use Carp ();