summaryrefslogtreecommitdiff
path: root/regcomp.sym
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2019-11-22 15:36:50 -0700
committerKarl Williamson <khw@cpan.org>2019-11-22 15:54:45 -0700
commit96bc7be80cd119d74baba00265df4b6ff745517e (patch)
tree0a1cba0069948a23a0a24dfd4ea9ba5ceffbaae2 /regcomp.sym
parenta4cca903448a76d52e68167aca56ac64831b25ee (diff)
downloadperl-96bc7be80cd119d74baba00265df4b6ff745517e.tar.gz
regcomp.sym: Add comment
Diffstat (limited to 'regcomp.sym')
-rw-r--r--regcomp.sym10
1 files changed, 10 insertions, 0 deletions
diff --git a/regcomp.sym b/regcomp.sym
index 612c3b7483..4b8670fa2c 100644
--- a/regcomp.sym
+++ b/regcomp.sym
@@ -34,6 +34,16 @@
# SUSPEND BRANCHJ, off 1 V 1 ; "Independent" sub-RE.
# IFTHEN BRANCHJ, off 1 V 1 ; Switch, should be preceded by switcher.
# GROUPP GROUPP, num 1 ; Whether the group matched.
+#
+# If we were to start running out of regnodes, many of the ones that are
+# complements could be combined with their non-complement mates. For example,
+# POSIXU could have the flags field have the bottom bit mean do we complement
+# or not, and the type be shifted left 1 bit. Then all that would be needed to
+# extract which to do is a mask for the complement bit, and a right shift for
+# the other, an inconsequential increase in instructions. It might actually be
+# clearer and slightly faster given the case statement and assignment are
+# removed. Note that not everything could be collapsed: NPOSIXA, for example,
+# would require special handling for performance.
#* Exit points