summaryrefslogtreecommitdiff
path: root/regcomp.h
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2012-12-27 13:15:46 -0700
committerKarl Williamson <public@khwilliamson.com>2012-12-28 10:38:56 -0700
commit9ffd0d410cf14367a8148fae2818e8e637e9ece4 (patch)
tree0eef232017cd630cb572ebc353a0ec2115ac62bc /regcomp.h
parent954a2af6addd8488c7883730be028bcdc14b202e (diff)
downloadperl-9ffd0d410cf14367a8148fae2818e8e637e9ece4.tar.gz
regcomp.h: Split two ANYOF flag bits
This essentially reverts 8b27d3db700fc2fce268e3d78e221a16ccaca2e8 and causes ANYOF nodes that are in locale but don't match things like \w to have a smaller node size.
Diffstat (limited to 'regcomp.h')
-rw-r--r--regcomp.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/regcomp.h b/regcomp.h
index 7ed2869194..94eeb9a2a7 100644
--- a/regcomp.h
+++ b/regcomp.h
@@ -307,8 +307,8 @@ struct regnode_charclass_class {
#define ANYOF_NONBITMAP(node) (ARG(node) != ANYOF_NONBITMAP_EMPTY)
/* Flags for node->flags of ANYOF. These are in short supply, so some games
- * are done to share them, as described below. Already, the ANYOF_LOCALE and
- * ANYOF_CLASS bits are shared, making a space penalty for all locale nodes.
+ * are done to share them, as described below. The ANYOF_LOCALE and
+ * ANYOF_CLASS bits could be shared, making a space penalty for all locale nodes.
* An option would be to push them into new nodes. E.g. there could be an
* ANYOF_LOCALE node that would be in place of the flag of the same name. But
* there are better options. The UNICODE_ALL bit could be freed up by
@@ -335,9 +335,9 @@ struct regnode_charclass_class {
/* Set if this is a struct regnode_charclass_class vs a regnode_charclass. This
* is used for runtime \d, \w, [:posix:], ..., which are used only in locale
* and the optimizer's synthetic start class. Non-locale \d, etc are resolved
- * at compile-time. Now shared with ANYOF_LOCALE, forcing all locale nodes to
- * be large */
-#define ANYOF_CLASS ANYOF_LOCALE
+ * at compile-time. Could be shared with ANYOF_LOCALE, forcing all locale
+ * nodes to be large */
+#define ANYOF_CLASS 0x08
#define ANYOF_LARGE ANYOF_CLASS /* Same; name retained for back compat */
/* EOS, meaning that it can match an empty string too, is used for the