From 280d10d382bf91dab122d797ff272da74068c0a1 Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Tue, 26 Nov 2024 17:46:26 +0300 Subject: [PATCH] import pcre2-10.44-1.el10.2 --- .gitignore | 2 + .pcre2.metadata | 2 + SOURCES/Public-Key | 39 + SOURCES/pcre2-10.10-Fix-multilib.patch | 39 + ...y-reports-only-compiled-memory-usage.patch | 5226 +++++++++++++++++ SPECS/pcre2.spec | 864 +++ 6 files changed, 6172 insertions(+) create mode 100644 .gitignore create mode 100644 .pcre2.metadata create mode 100644 SOURCES/Public-Key create mode 100644 SOURCES/pcre2-10.10-Fix-multilib.patch create mode 100644 SOURCES/pcre2-10.44-pcre2test-memory-reports-only-compiled-memory-usage.patch create mode 100644 SPECS/pcre2.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4f469e5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/pcre2-10.44.tar.bz2 +SOURCES/pcre2-10.44.tar.bz2.sig diff --git a/.pcre2.metadata b/.pcre2.metadata new file mode 100644 index 0000000..2547c8b --- /dev/null +++ b/.pcre2.metadata @@ -0,0 +1,2 @@ +ddc37244d49d74ecae510d9d860b812e6e59611a SOURCES/pcre2-10.44.tar.bz2 +0a1ef10089dbd6509b35d96e2a8c5af5a75a85eb SOURCES/pcre2-10.44.tar.bz2.sig diff --git a/SOURCES/Public-Key b/SOURCES/Public-Key new file mode 100644 index 0000000..95dbb71 --- /dev/null +++ b/SOURCES/Public-Key @@ -0,0 +1,39 @@ +This is Philip Hazel's public GPG key. + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.2.0 (SunOS) + +mQEMBD2z9g0BCACpGWJ4K2mjR6K9nv7/K+HLjJtDO0E0ckudeNjg2JvnuUU7m1bK +87nSklHTSMNiqmuVU5hFAuGiMGBMj31GPpce3VbABdm6TmAJB8ZndvJXyf8lC7Ko +5iZX/gCYU6817UI5pFwYR3MTIUSSxTGqk1y62pYLKUq9keSU5Cew4q1KMwl46Bn3 +SwlfQeST4WGwL2w9b8mWNltBBY23bgzwYu7vFBD4GQnfzJsvMC9lj825wob2nKy5 +CL4bY6tiYUqALzDYaIVCBqJ1Ky1rpPzRcDZUeeF8Ta3njh18Y0KzPEj+Xu5Ksexg +7LUy/2wFzVRtJgqvAFZo43KIOptsj/63zxJjAAkBAbQhUGhpbGlwIEhhemVsIDxw +aDEwQGN1cy5jYW0uYWMudWs+iQEyBBMBAgAcBQI9s/YNAhsDBAsHAwIDFQIDAxYC +AQIeAQIXgAAKCRCXZuCE+w9D2JbrCACBHrxybV+9t3TGR3+uk2QnUuct90a+udcB +cbWgKQgX345ZgwIfyoPKAbG84mN/+SFUN/Ie4ZHZxVsbN//l2P/Osx0CNQBfem4e +HUWegkFGzC5DxQhN5nsJ/GR6pnxG1l/DbNhupNY73oTajWFdi7K8jYfamU/zS/Da +VCwUKxWtGqyEqOxvbdqcjsnTMmLVfXtefx7CbKyhaClPP8Pe4FL+eqyfHJF7uywK +VWlUNmQa4E+ZAK8tkoK9sZAc0ImWwZMumiKZDEpr2D8Ty+Gg2umTS2OMIcbY8QF1 +r6DeubFabdPIe1kn0BGXtdAurhbdJCIbcAEQS0eEeWC4A4LiDprntB1QaGlsaXAg +SGF6ZWwgPHBoMTBAY2FtLmFjLnVrPokBMgQTAQIAHAUCPbaC8QIbAwQLBwMCAxUC +AwMWAgECHgECF4AACgkQl2bghPsPQ9ho5Qf+I2HUhZeXOUneeqSa+cITsIELJMrZ +UWcydY1z+L68yOqURVHB1jF4aC6QSlq0pLjozwF6KfZO5AfN9FvkRQ0DzCEXH48W +OXqzbjzgNxRMdaP5+49Axl0UQuhupGJg66T4FiGnSVBhK8kTURPCSpLLgkCJqNcY +t5zuNwk3e7JvleT59EVpk/kw3a5p9oeKYBln57pHwq+HdPLSCdkedQBKdsbNrazy +qduYEXen4ogsIoTpA9lLH1Xsi9wL+soLAlWXtl/GNa1h7Jpwn41zp1hqIZe1ebIM +dSGbtMEaGJlqgDauYJSl0lkVgaPtZCTmfAf57TsGfD0IckN2XNGLuwb6DLkBCwQ9 +s/eJAQgAuXq2I1VTDB108O0NAB6QKfA2gMHafoj3OcwEUHnJgXrHqjYOpFr0r5lC +YjwMRMvHO7r4jgtwKjGACI/1IE2hiGXkKFOWZFkCf7Qjoi13a78myC/VRwe4uEIs +xdz++w8WfzuC1sYw8d/rlybVzHTfTsKfmFOQamuyLCTm3Kdx/wZyGM7JMmgVn2zF +HWasdID0n7QJFZGR3yEfqis5zq1t3w28AaXlTZG7QtFj9V0cWIhZRjjjVe1biPA8 +Btp+eFkmcat79N9hHbiEiAY3u2qmQCcn1fiBBC0Og09cY4dRyX0/bXUo4n8lHysp +JcL/sIZ7Ahd1LOfg9h+yQfoaey78LQAGKYkBHwQYAQIACQUCPbP3iQIbDAAKCRCX +ZuCE+w9D2P0BCACXsbwFerd4wlnt8PxxQlRGXi1t4EGBFf2zSdgQvIXJ3ntPzcDU ++8hnIWQJhCTZ3PfVmoqB6ZOM1RWI/IcP6b4qVb6vJGI/VxRICraAczw+4bdFxFiB +n2+SyD4MxZg8t66FcH3fHugQqsApHTmtKmahv5BXB+0dPmP/BRUmzxYUv8hdnhHl +91S4R4BDu84DvKYyJK9jlqUl06pvqXrBSNsbWKgAJnmnDe8FaLUk+p0IXeMSavUn +T5E26MRIioxAz/G4FZI8IdO92GHTz82O7/mQMhveAdpspDvpV3M4wnldU425GlxZ +nmq1bbjAU4QVuIS9nkk2GrGx5+N6cYMy8JqG +=EHsz +-----END PGP PUBLIC KEY BLOCK----- diff --git a/SOURCES/pcre2-10.10-Fix-multilib.patch b/SOURCES/pcre2-10.10-Fix-multilib.patch new file mode 100644 index 0000000..89c7d80 --- /dev/null +++ b/SOURCES/pcre2-10.10-Fix-multilib.patch @@ -0,0 +1,39 @@ +From 8b6b10229201e5b148979a24e06c640dbbcfbad9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Fri, 20 Feb 2015 14:34:26 +0100 +Subject: [PATCH] Fix multilib +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Do not set RPATH nor add explicit -L path to compiler. + +Signed-off-by: Petr Písař + +diff --git a/pcre2-config.in b/pcre2-config.in +index 932160e..dbef5e5 100644 +--- a/pcre2-config.in ++++ b/pcre2-config.in +@@ -28,19 +28,7 @@ if test $# -eq 0; then + fi + + libR= +-case `uname -s` in +- *SunOS*) +- libR=" -R@libdir@" +- ;; +- *BSD*) +- libR=" -Wl,-R@libdir@" +- ;; +-esac +- + libS= +-if test @libdir@ != /usr/lib ; then +- libS=-L@libdir@ +-fi + + while test $# -gt 0; do + case "$1" in +-- +2.1.0 + diff --git a/SOURCES/pcre2-10.44-pcre2test-memory-reports-only-compiled-memory-usage.patch b/SOURCES/pcre2-10.44-pcre2test-memory-reports-only-compiled-memory-usage.patch new file mode 100644 index 0000000..966b69d --- /dev/null +++ b/SOURCES/pcre2-10.44-pcre2test-memory-reports-only-compiled-memory-usage.patch @@ -0,0 +1,5226 @@ +From 57906628d7babd27c01eb1c085d3e0cdd512189a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Carlo=20Marcelo=20Arenas=20Bel=C3=B3n?= +Date: Sun, 9 Jun 2024 08:22:15 -0700 +Subject: [PATCH] pcre2test: memory reports only compiled memory usage for + code/data (#418) + +Since 05aafb2 (Implement pcre2_set_max_pattern_compiled_length() and set +this limit in the fuzzer, 2024-04-24), the memory modifier has reported +the full size of the allocated "code" returned by `pcre2_compile`. + +Problem is that the size of the structure used to hold that in memory also +depends on the platform ABI and even alignment by the compiler, and has +been therefore fragile to compare. + +Revert to reporting only the additional memory that `pcre2_compile()` will +use for the compiled pattern (including any data tables) and make sure +that the limit provided with `pcre2_set_max_pattern_compiled_length()` +also avoid the internal struct overhead. + +Fixes: #415 +--- + doc/pcre2_set_max_pattern_compiled_length.3 | 8 +- + src/pcre2_compile.c | 4 +- + src/pcre2test.c | 17 +- + testdata/testoutput8-16-2 | 171 +++++++------------- + testdata/testoutput8-16-3 | 171 +++++++------------- + testdata/testoutput8-16-4 | 171 +++++++------------- + testdata/testoutput8-32-2 | 171 +++++++------------- + testdata/testoutput8-32-3 | 171 +++++++------------- + testdata/testoutput8-32-4 | 171 +++++++------------- + testdata/testoutput8-8-2 | 171 +++++++------------- + testdata/testoutput8-8-3 | 171 +++++++------------- + testdata/testoutput8-8-4 | 171 +++++++------------- + 12 files changed, 546 insertions(+), 1022 deletions(-) + +diff --git a/doc/pcre2_set_max_pattern_compiled_length.3 b/doc/pcre2_set_max_pattern_compiled_length.3 +index 472a7bbd..679c12c2 100644 +--- a/doc/pcre2_set_max_pattern_compiled_length.3 ++++ b/doc/pcre2_set_max_pattern_compiled_length.3 +@@ -1,4 +1,4 @@ +-.TH PCRE2_SET_MAX_PATTERN_COMPILED_LENGTH 3 "24 April 2024" "PCRE2 10.44" ++.TH PCRE2_SET_MAX_PATTERN_COMPILED_LENGTH 3 "8 Jun 2024" "PCRE2 10.45" + .SH NAME + PCRE2 - Perl-compatible regular expressions (revised API) + .SH SYNOPSIS +@@ -15,9 +15,9 @@ PCRE2 - Perl-compatible regular expressions (revised API) + .rs + .sp + This function sets, in a compile context, the maximum size (in bytes) for the +-memory needed to hold the compiled version of a pattern that is compiled with +-this context. The result is always zero. If a pattern that is passed to +-\fBpcre2_compile()\fP with this context needs more memory, an error is ++memory needed to hold the compiled version of a pattern that is using this ++context. The result is always zero. If a pattern that is passed to ++\fBpcre2_compile()\fP referencing this context needs more memory, an error is + generated. The default is the largest number that a PCRE2_SIZE variable can + hold, which is effectively unlimited. + .P +diff --git a/src/pcre2_compile.c b/src/pcre2_compile.c +index 8e6787ab..cc5b9674 100644 +--- a/src/pcre2_compile.c ++++ b/src/pcre2_compile.c +@@ -10608,8 +10608,7 @@ block for storing the compiled pattern and names table. Integer overflow should + no longer be possible because nowadays we limit the maximum value of + cb.names_found and cb.name_entry_size. */ + +-re_blocksize = sizeof(pcre2_real_code) + +- CU2BYTES(length + ++re_blocksize = CU2BYTES(length + + (PCRE2_SIZE)cb.names_found * (PCRE2_SIZE)cb.name_entry_size); + + if (re_blocksize > ccontext->max_pattern_compiled_length) +@@ -10618,6 +10617,7 @@ if (re_blocksize > ccontext->max_pattern_compiled_length) + goto HAD_CB_ERROR; + } + ++re_blocksize += sizeof(pcre2_real_code); + re = (pcre2_real_code *) + ccontext->memctl.malloc(re_blocksize, ccontext->memctl.memory_data); + if (re == NULL) +diff --git a/src/pcre2test.c b/src/pcre2test.c +index 37903451..550ae4e4 100644 +--- a/src/pcre2test.c ++++ b/src/pcre2test.c +@@ -4397,7 +4397,7 @@ static void + show_memory_info(void) + { + uint32_t name_count, name_entry_size; +-PCRE2_SIZE size, cblock_size; ++PCRE2_SIZE size, cblock_size, data_size; + + /* One of the test_mode values will always be true, but to stop a compiler + warning we must initialize cblock_size. */ +@@ -4417,18 +4417,19 @@ if (test_mode == PCRE32_MODE) cblock_size = sizeof(pcre2_real_code_32); + (void)pattern_info(PCRE2_INFO_NAMECOUNT, &name_count, FALSE); + (void)pattern_info(PCRE2_INFO_NAMEENTRYSIZE, &name_entry_size, FALSE); + +-/* The uint32_t variables are cast before multiplying to stop code analyzers +-grumbling about potential overflow. */ ++/* The uint32_t variables are cast before multiplying to avoid potential ++ integer overflow. */ ++data_size = (PCRE2_SIZE)name_count * (PCRE2_SIZE)name_entry_size * (PCRE2_SIZE)code_unit_size; + +-fprintf(outfile, "Memory allocation - compiled block : %" SIZ_FORM "\n", size); +-fprintf(outfile, "Memory allocation - code portion : %" SIZ_FORM "\n", size - +- (PCRE2_SIZE)name_count * (PCRE2_SIZE)name_entry_size * (PCRE2_SIZE)code_unit_size - +- cblock_size); ++fprintf(outfile, "Memory allocation - code size : %" SIZ_FORM "\n", size - ++ cblock_size - data_size); ++if (data_size != 0) ++ fprintf(outfile, "Memory allocation - data size : %" SIZ_FORM "\n", data_size); + + if (pat_patctl.jit != 0) + { + (void)pattern_info(PCRE2_INFO_JITSIZE, &size, FALSE); +- fprintf(outfile, "Memory allocation - JIT code : %" SIZ_FORM "\n", size); ++ fprintf(outfile, "Memory allocation - JIT code : %" SIZ_FORM "\n", size); + } + } + +diff --git a/testdata/testoutput8-16-2 b/testdata/testoutput8-16-2 +index bcb9e177..108c0bea 100644 +--- a/testdata/testoutput8-16-2 ++++ b/testdata/testoutput8-16-2 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 5 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 174 +-Memory allocation - code portion : 38 ++Memory allocation - code size : 38 + ------------------------------------------------------------------ + 0 16 Bra + 2 7 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 38 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 15 Bra + 2 6 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 182 +-Memory allocation - code portion : 46 ++Memory allocation - code size : 46 + ------------------------------------------------------------------ + 0 20 Bra + 2 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 46 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 2 Bra + 2 2 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 7 Bra + 2 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 10 Bra + 2 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 26 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 278 +-Memory allocation - code portion : 142 ++Memory allocation - code size : 142 + ------------------------------------------------------------------ + 0 68 Bra + 2 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 142 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1784 +-Memory allocation - code portion : 1648 ++Memory allocation - code size : 1648 + ------------------------------------------------------------------ + 0 821 Bra + 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 1648 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1764 +-Memory allocation - code portion : 1628 ++Memory allocation - code size : 1628 + ------------------------------------------------------------------ + 0 811 Bra + 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 1628 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 13 Bra + 2 9 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 176 +-Memory allocation - code portion : 40 ++Memory allocation - code size : 40 + ------------------------------------------------------------------ + 0 17 Bra + 2 13 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 40 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 242 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 ++Memory allocation - data size : 52 + ------------------------------------------------------------------ + 0 24 Bra + 2 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 218 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 ++Memory allocation - data size : 18 + ------------------------------------------------------------------ + 0 29 Bra + 2 18 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 ++Memory allocation - data size : 6 + ------------------------------------------------------------------ + 0 24 Bra + 2 5 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 22 Bra + 2 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 214 +-Memory allocation - code portion : 78 ++Memory allocation - code size : 78 + ------------------------------------------------------------------ + 0 36 Bra + 2 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 78 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 5 Bra + 2 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 16 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 5 Bra + 2 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 16 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 5 Bra + 2 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 16 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 10 Bra + 2 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 190 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 + ------------------------------------------------------------------ + 0 24 Bra + 2 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 26 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 26 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 27 Bra + 2 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 194 +-Memory allocation - code portion : 58 ++Memory allocation - code size : 58 + ------------------------------------------------------------------ + 0 26 Bra + 2 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 58 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 13 Bra + 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 13 Bra + 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 23 Bra + 2 19 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 178 +-Memory allocation - code portion : 42 ++Memory allocation - code size : 42 + ------------------------------------------------------------------ + 0 18 Bra + 2 14 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 42 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +diff --git a/testdata/testoutput8-16-3 b/testdata/testoutput8-16-3 +index 4ec13ea9..28acd251 100644 +--- a/testdata/testoutput8-16-3 ++++ b/testdata/testoutput8-16-3 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 6 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 20 Bra + 3 8 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 182 +-Memory allocation - code portion : 46 ++Memory allocation - code size : 46 + ------------------------------------------------------------------ + 0 19 Bra + 3 7 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 46 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 21 Bra + 3 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 3 Bra + 3 3 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 8 Bra + 3 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 170 +-Memory allocation - code portion : 34 ++Memory allocation - code size : 34 + ------------------------------------------------------------------ + 0 13 Bra + 3 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 34 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 302 +-Memory allocation - code portion : 166 ++Memory allocation - code size : 166 + ------------------------------------------------------------------ + 0 79 Bra + 3 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 166 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1788 +-Memory allocation - code portion : 1652 ++Memory allocation - code size : 1652 + ------------------------------------------------------------------ + 0 822 Bra + 3 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 1652 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1768 +-Memory allocation - code portion : 1632 ++Memory allocation - code size : 1632 + ------------------------------------------------------------------ + 0 812 Bra + 3 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 1632 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 178 +-Memory allocation - code portion : 42 ++Memory allocation - code size : 42 + ------------------------------------------------------------------ + 0 17 Bra + 3 11 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 42 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 190 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 + ------------------------------------------------------------------ + 0 23 Bra + 3 17 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 68 ++Memory allocation - code size : 68 ++Memory allocation - data size : 52 + ------------------------------------------------------------------ + 0 30 Bra + 3 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 68 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 238 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 ++Memory allocation - data size : 18 + ------------------------------------------------------------------ + 0 38 Bra + 3 23 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 206 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 ++Memory allocation - data size : 6 + ------------------------------------------------------------------ + 0 28 Bra + 3 6 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 198 +-Memory allocation - code portion : 62 ++Memory allocation - code size : 62 + ------------------------------------------------------------------ + 0 27 Bra + 3 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 62 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 242 +-Memory allocation - code portion : 106 ++Memory allocation - code size : 106 + ------------------------------------------------------------------ + 0 49 Bra + 3 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 106 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 20 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 9 Bra + 3 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 9 Bra + 3 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 26 Bra + 3 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 32 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 202 +-Memory allocation - code portion : 66 ++Memory allocation - code size : 66 + ------------------------------------------------------------------ + 0 29 Bra + 3 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 66 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 28 Bra + 3 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 14 Bra + 3 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 14 Bra + 3 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 206 +-Memory allocation - code portion : 70 ++Memory allocation - code size : 70 + ------------------------------------------------------------------ + 0 31 Bra + 3 25 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 70 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 192 +-Memory allocation - code portion : 56 ++Memory allocation - code size : 56 + ------------------------------------------------------------------ + 0 24 Bra + 3 18 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 56 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +diff --git a/testdata/testoutput8-16-4 b/testdata/testoutput8-16-4 +index 4ec13ea9..28acd251 100644 +--- a/testdata/testoutput8-16-4 ++++ b/testdata/testoutput8-16-4 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 6 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 20 Bra + 3 8 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 182 +-Memory allocation - code portion : 46 ++Memory allocation - code size : 46 + ------------------------------------------------------------------ + 0 19 Bra + 3 7 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 46 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 21 Bra + 3 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 3 Bra + 3 3 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 8 Bra + 3 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 170 +-Memory allocation - code portion : 34 ++Memory allocation - code size : 34 + ------------------------------------------------------------------ + 0 13 Bra + 3 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 34 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 302 +-Memory allocation - code portion : 166 ++Memory allocation - code size : 166 + ------------------------------------------------------------------ + 0 79 Bra + 3 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 166 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1788 +-Memory allocation - code portion : 1652 ++Memory allocation - code size : 1652 + ------------------------------------------------------------------ + 0 822 Bra + 3 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 1652 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 1768 +-Memory allocation - code portion : 1632 ++Memory allocation - code size : 1632 + ------------------------------------------------------------------ + 0 812 Bra + 3 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 1632 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 178 +-Memory allocation - code portion : 42 ++Memory allocation - code size : 42 + ------------------------------------------------------------------ + 0 17 Bra + 3 11 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 42 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 190 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 + ------------------------------------------------------------------ + 0 23 Bra + 3 17 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 68 ++Memory allocation - code size : 68 ++Memory allocation - data size : 52 + ------------------------------------------------------------------ + 0 30 Bra + 3 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 68 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 238 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 ++Memory allocation - data size : 18 + ------------------------------------------------------------------ + 0 38 Bra + 3 23 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 206 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 ++Memory allocation - data size : 6 + ------------------------------------------------------------------ + 0 28 Bra + 3 6 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 198 +-Memory allocation - code portion : 62 ++Memory allocation - code size : 62 + ------------------------------------------------------------------ + 0 27 Bra + 3 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 62 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 242 +-Memory allocation - code portion : 106 ++Memory allocation - code size : 106 + ------------------------------------------------------------------ + 0 49 Bra + 3 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 106 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 20 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 9 Bra + 3 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 9 Bra + 3 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 26 Bra + 3 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 12 Bra + 3 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 32 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 202 +-Memory allocation - code portion : 66 ++Memory allocation - code size : 66 + ------------------------------------------------------------------ + 0 29 Bra + 3 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 66 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 28 Bra + 3 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 14 Bra + 3 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 172 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 + ------------------------------------------------------------------ + 0 14 Bra + 3 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 206 +-Memory allocation - code portion : 70 ++Memory allocation - code size : 70 + ------------------------------------------------------------------ + 0 31 Bra + 3 25 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 70 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 192 +-Memory allocation - code portion : 56 ++Memory allocation - code size : 56 + ------------------------------------------------------------------ + 0 24 Bra + 3 18 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 56 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +diff --git a/testdata/testoutput8-32-2 b/testdata/testoutput8-32-2 +index d76f3aaa..90ea536f 100644 +--- a/testdata/testoutput8-32-2 ++++ b/testdata/testoutput8-32-2 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 5 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 7 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 208 +-Memory allocation - code portion : 72 ++Memory allocation - code size : 72 + ------------------------------------------------------------------ + 0 15 Bra + 2 6 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 72 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 2 Bra + 2 2 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 176 +-Memory allocation - code portion : 40 ++Memory allocation - code size : 40 + ------------------------------------------------------------------ + 0 7 Bra + 2 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 40 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 356 +-Memory allocation - code portion : 220 ++Memory allocation - code size : 220 + ------------------------------------------------------------------ + 0 52 Bra + 2 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 220 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3432 +-Memory allocation - code portion : 3296 ++Memory allocation - code size : 3296 + ------------------------------------------------------------------ + 0 821 Bra + 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 3296 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3392 +-Memory allocation - code portion : 3256 ++Memory allocation - code size : 3256 + ------------------------------------------------------------------ + 0 811 Bra + 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 3256 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 13 Bra + 2 9 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 216 +-Memory allocation - code portion : 80 ++Memory allocation - code size : 80 + ------------------------------------------------------------------ + 0 17 Bra + 2 13 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 80 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 348 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 104 + ------------------------------------------------------------------ + 0 24 Bra + 2 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 300 +-Memory allocation - code portion : 128 ++Memory allocation - code size : 128 ++Memory allocation - data size : 36 + ------------------------------------------------------------------ + 0 29 Bra + 2 18 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 128 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 24 Bra + 2 5 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 236 +-Memory allocation - code portion : 100 ++Memory allocation - code size : 100 + ------------------------------------------------------------------ + 0 22 Bra + 2 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 100 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 292 +-Memory allocation - code portion : 156 ++Memory allocation - code size : 156 + ------------------------------------------------------------------ + 0 36 Bra + 2 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 156 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 28 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 52 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 224 +-Memory allocation - code portion : 88 ++Memory allocation - code size : 88 + ------------------------------------------------------------------ + 0 19 Bra + 2 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 88 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 240 +-Memory allocation - code portion : 104 ++Memory allocation - code size : 104 + ------------------------------------------------------------------ + 0 23 Bra + 2 19 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 104 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 14 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +diff --git a/testdata/testoutput8-32-3 b/testdata/testoutput8-32-3 +index d76f3aaa..90ea536f 100644 +--- a/testdata/testoutput8-32-3 ++++ b/testdata/testoutput8-32-3 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 5 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 7 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 208 +-Memory allocation - code portion : 72 ++Memory allocation - code size : 72 + ------------------------------------------------------------------ + 0 15 Bra + 2 6 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 72 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 2 Bra + 2 2 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 176 +-Memory allocation - code portion : 40 ++Memory allocation - code size : 40 + ------------------------------------------------------------------ + 0 7 Bra + 2 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 40 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 356 +-Memory allocation - code portion : 220 ++Memory allocation - code size : 220 + ------------------------------------------------------------------ + 0 52 Bra + 2 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 220 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3432 +-Memory allocation - code portion : 3296 ++Memory allocation - code size : 3296 + ------------------------------------------------------------------ + 0 821 Bra + 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 3296 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3392 +-Memory allocation - code portion : 3256 ++Memory allocation - code size : 3256 + ------------------------------------------------------------------ + 0 811 Bra + 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 3256 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 13 Bra + 2 9 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 216 +-Memory allocation - code portion : 80 ++Memory allocation - code size : 80 + ------------------------------------------------------------------ + 0 17 Bra + 2 13 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 80 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 348 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 104 + ------------------------------------------------------------------ + 0 24 Bra + 2 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 300 +-Memory allocation - code portion : 128 ++Memory allocation - code size : 128 ++Memory allocation - data size : 36 + ------------------------------------------------------------------ + 0 29 Bra + 2 18 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 128 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 24 Bra + 2 5 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 236 +-Memory allocation - code portion : 100 ++Memory allocation - code size : 100 + ------------------------------------------------------------------ + 0 22 Bra + 2 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 100 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 292 +-Memory allocation - code portion : 156 ++Memory allocation - code size : 156 + ------------------------------------------------------------------ + 0 36 Bra + 2 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 156 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 28 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 52 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 224 +-Memory allocation - code portion : 88 ++Memory allocation - code size : 88 + ------------------------------------------------------------------ + 0 19 Bra + 2 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 88 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 240 +-Memory allocation - code portion : 104 ++Memory allocation - code size : 104 + ------------------------------------------------------------------ + 0 23 Bra + 2 19 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 104 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 14 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +diff --git a/testdata/testoutput8-32-4 b/testdata/testoutput8-32-4 +index d76f3aaa..90ea536f 100644 +--- a/testdata/testoutput8-32-4 ++++ b/testdata/testoutput8-32-4 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 5 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 7 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 208 +-Memory allocation - code portion : 72 ++Memory allocation - code size : 72 + ------------------------------------------------------------------ + 0 15 Bra + 2 6 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 72 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 2 Bra + 2 2 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 176 +-Memory allocation - code portion : 40 ++Memory allocation - code size : 40 + ------------------------------------------------------------------ + 0 7 Bra + 2 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 40 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 356 +-Memory allocation - code portion : 220 ++Memory allocation - code size : 220 + ------------------------------------------------------------------ + 0 52 Bra + 2 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 220 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3432 +-Memory allocation - code portion : 3296 ++Memory allocation - code size : 3296 + ------------------------------------------------------------------ + 0 821 Bra + 2 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 3296 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 3392 +-Memory allocation - code portion : 3256 ++Memory allocation - code size : 3256 + ------------------------------------------------------------------ + 0 811 Bra + 2 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 3256 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 64 ++Memory allocation - code size : 64 + ------------------------------------------------------------------ + 0 13 Bra + 2 9 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 64 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 216 +-Memory allocation - code portion : 80 ++Memory allocation - code size : 80 + ------------------------------------------------------------------ + 0 17 Bra + 2 13 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 80 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 348 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 104 + ------------------------------------------------------------------ + 0 24 Bra + 2 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 300 +-Memory allocation - code portion : 128 ++Memory allocation - code size : 128 ++Memory allocation - data size : 36 + ------------------------------------------------------------------ + 0 29 Bra + 2 18 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 128 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 108 ++Memory allocation - code size : 108 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 24 Bra + 2 5 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 108 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 236 +-Memory allocation - code portion : 100 ++Memory allocation - code size : 100 + ------------------------------------------------------------------ + 0 22 Bra + 2 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 100 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 292 +-Memory allocation - code portion : 156 ++Memory allocation - code size : 156 + ------------------------------------------------------------------ + 0 36 Bra + 2 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 156 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 28 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \x{c5b4} + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 8 Bra + 2 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x{8a9e} + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 212 +-Memory allocation - code portion : 76 ++Memory allocation - code size : 76 + ------------------------------------------------------------------ + 0 16 Bra + 2 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 76 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 52 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 188 +-Memory allocation - code portion : 52 ++Memory allocation - code size : 52 + ------------------------------------------------------------------ + 0 10 Bra + 2 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 52 + Failed: error 106 at offset 13: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 224 +-Memory allocation - code portion : 88 ++Memory allocation - code size : 88 + ------------------------------------------------------------------ + 0 19 Bra + 2 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 88 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 196 +-Memory allocation - code portion : 60 ++Memory allocation - code size : 60 + ------------------------------------------------------------------ + 0 12 Bra + 2 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 60 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 9 Bra + 2 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 240 +-Memory allocation - code portion : 104 ++Memory allocation - code size : 104 + ------------------------------------------------------------------ + 0 23 Bra + 2 19 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 104 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 220 +-Memory allocation - code portion : 84 ++Memory allocation - code size : 84 + ------------------------------------------------------------------ + 0 18 Bra + 2 14 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 84 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 4 Bra + 2 [^\x{aa}] +diff --git a/testdata/testoutput8-8-2 b/testdata/testoutput8-8-2 +index f3811d95..779552ac 100644 +--- a/testdata/testoutput8-8-2 ++++ b/testdata/testoutput8-8-2 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 153 +-Memory allocation - code portion : 17 ++Memory allocation - code size : 17 + ------------------------------------------------------------------ + 0 13 Bra + 3 7 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 17 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 161 +-Memory allocation - code portion : 25 ++Memory allocation - code size : 25 + ------------------------------------------------------------------ + 0 21 Bra + 3 9 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 25 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 159 +-Memory allocation - code portion : 23 ++Memory allocation - code size : 23 + ------------------------------------------------------------------ + 0 19 Bra + 3 7 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 23 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 177 +-Memory allocation - code portion : 41 ++Memory allocation - code size : 41 + ------------------------------------------------------------------ + 0 37 Bra + 3 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 41 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 143 +-Memory allocation - code portion : 7 ++Memory allocation - code size : 7 + ------------------------------------------------------------------ + 0 3 Bra + 3 3 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 9 Bra + 3 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 14 Bra + 3 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 256 +-Memory allocation - code portion : 120 ++Memory allocation - code size : 120 + ------------------------------------------------------------------ + 0 116 Bra + 3 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 120 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 962 +-Memory allocation - code portion : 826 ++Memory allocation - code size : 826 + ------------------------------------------------------------------ + 0 822 Bra + 3 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 826 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 952 +-Memory allocation - code portion : 816 ++Memory allocation - code size : 816 + ------------------------------------------------------------------ + 0 812 Bra + 3 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 816 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 18 Bra + 3 12 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 22 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 24 Bra + 3 18 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 200 +-Memory allocation - code portion : 36 ++Memory allocation - code size : 36 ++Memory allocation - data size : 28 + ------------------------------------------------------------------ + 0 32 Bra + 3 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 36 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 193 +-Memory allocation - code portion : 45 ++Memory allocation - code size : 45 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 41 Bra + 3 25 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 45 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 174 +-Memory allocation - code portion : 34 ++Memory allocation - code size : 34 ++Memory allocation - data size : 4 + ------------------------------------------------------------------ + 0 30 Bra + 3 7 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 34 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 167 +-Memory allocation - code portion : 31 ++Memory allocation - code size : 31 + ------------------------------------------------------------------ + 0 27 Bra + 3 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 31 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 189 +-Memory allocation - code portion : 53 ++Memory allocation - code size : 53 + ------------------------------------------------------------------ + 0 49 Bra + 3 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 53 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 7 Bra + 3 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 8 Bra + 3 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 8 Bra + 3 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 8 Bra + 3 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 12 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 14 Bra + 3 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 155 +-Memory allocation - code portion : 19 ++Memory allocation - code size : 19 + ------------------------------------------------------------------ + 0 15 Bra + 3 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \xb4 + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 155 +-Memory allocation - code portion : 19 ++Memory allocation - code size : 19 + ------------------------------------------------------------------ + 0 15 Bra + 3 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x9e + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 183 +-Memory allocation - code portion : 47 ++Memory allocation - code size : 47 + ------------------------------------------------------------------ + 0 43 Bra + 3 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 47 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 14 Bra + 3 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 14 Bra + 3 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 18 + Failed: error 106 at offset 15: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 46 Bra + 3 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 11 Bra + 3 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 48 ++Memory allocation - code size : 48 + ------------------------------------------------------------------ + 0 44 Bra + 3 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 48 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 161 +-Memory allocation - code portion : 25 ++Memory allocation - code size : 25 + ------------------------------------------------------------------ + 0 21 Bra + 3 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 25 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 161 +-Memory allocation - code portion : 25 ++Memory allocation - code size : 25 + ------------------------------------------------------------------ + 0 21 Bra + 3 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 25 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 153 +-Memory allocation - code portion : 17 ++Memory allocation - code size : 17 + ------------------------------------------------------------------ + 0 13 Bra + 3 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 17 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 174 +-Memory allocation - code portion : 38 ++Memory allocation - code size : 38 + ------------------------------------------------------------------ + 0 34 Bra + 3 28 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 38 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 26 Bra + 3 20 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 10 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 5 Bra + 3 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 9 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 146 +-Memory allocation - code portion : 10 ++Memory allocation - code size : 10 + ------------------------------------------------------------------ + 0 6 Bra + 3 [^\x{aa}] +diff --git a/testdata/testoutput8-8-3 b/testdata/testoutput8-8-3 +index 48e0b8aa..2657ce89 100644 +--- a/testdata/testoutput8-8-3 ++++ b/testdata/testoutput8-8-3 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 8 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 166 +-Memory allocation - code portion : 30 ++Memory allocation - code size : 30 + ------------------------------------------------------------------ + 0 25 Bra + 4 10 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 30 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 164 +-Memory allocation - code portion : 28 ++Memory allocation - code size : 28 + ------------------------------------------------------------------ + 0 23 Bra + 4 8 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 28 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 179 +-Memory allocation - code portion : 43 ++Memory allocation - code size : 43 + ------------------------------------------------------------------ + 0 38 Bra + 4 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 43 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 145 +-Memory allocation - code portion : 9 ++Memory allocation - code size : 9 + ------------------------------------------------------------------ + 0 4 Bra + 4 4 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 10 Bra + 4 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 17 Bra + 4 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 22 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 268 +-Memory allocation - code portion : 132 ++Memory allocation - code size : 132 + ------------------------------------------------------------------ + 0 127 Bra + 4 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 132 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 964 +-Memory allocation - code portion : 828 ++Memory allocation - code size : 828 + ------------------------------------------------------------------ + 0 823 Bra + 4 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 828 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 954 +-Memory allocation - code portion : 818 ++Memory allocation - code size : 818 + ------------------------------------------------------------------ + 0 813 Bra + 4 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 818 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 163 +-Memory allocation - code portion : 27 ++Memory allocation - code size : 27 + ------------------------------------------------------------------ + 0 22 Bra + 4 14 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 27 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 171 +-Memory allocation - code portion : 35 ++Memory allocation - code size : 35 + ------------------------------------------------------------------ + 0 30 Bra + 4 22 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 35 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 207 +-Memory allocation - code portion : 43 ++Memory allocation - code size : 43 ++Memory allocation - data size : 28 + ------------------------------------------------------------------ + 0 38 Bra + 4 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 43 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 203 +-Memory allocation - code portion : 55 ++Memory allocation - code size : 55 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 50 Bra + 4 30 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 55 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 179 +-Memory allocation - code portion : 39 ++Memory allocation - code size : 39 ++Memory allocation - data size : 4 + ------------------------------------------------------------------ + 0 34 Bra + 4 8 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 39 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 173 +-Memory allocation - code portion : 37 ++Memory allocation - code size : 37 + ------------------------------------------------------------------ + 0 32 Bra + 4 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 37 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 203 +-Memory allocation - code portion : 67 ++Memory allocation - code size : 67 + ------------------------------------------------------------------ + 0 62 Bra + 4 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 67 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 8 Bra + 4 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 9 Bra + 4 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 9 Bra + 4 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 9 Bra + 4 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 14 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 15 Bra + 4 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \xb4 + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x9e + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 186 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 + ------------------------------------------------------------------ + 0 45 Bra + 4 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 16 Bra + 4 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 21 + Failed: error 106 at offset 15: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 189 +-Memory allocation - code portion : 53 ++Memory allocation - code size : 53 + ------------------------------------------------------------------ + 0 48 Bra + 4 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 53 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 154 +-Memory allocation - code portion : 18 ++Memory allocation - code size : 18 + ------------------------------------------------------------------ + 0 13 Bra + 4 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 18 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 187 +-Memory allocation - code portion : 51 ++Memory allocation - code size : 51 + ------------------------------------------------------------------ + 0 46 Bra + 4 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 51 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 163 +-Memory allocation - code portion : 27 ++Memory allocation - code size : 27 + ------------------------------------------------------------------ + 0 22 Bra + 4 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 27 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 163 +-Memory allocation - code portion : 27 ++Memory allocation - code size : 27 + ------------------------------------------------------------------ + 0 22 Bra + 4 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 27 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 156 +-Memory allocation - code portion : 20 ++Memory allocation - code size : 20 + ------------------------------------------------------------------ + 0 15 Bra + 4 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 20 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 183 +-Memory allocation - code portion : 47 ++Memory allocation - code size : 47 + ------------------------------------------------------------------ + 0 42 Bra + 4 34 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 47 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 173 +-Memory allocation - code portion : 37 ++Memory allocation - code size : 37 + ------------------------------------------------------------------ + 0 32 Bra + 4 24 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 37 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 12 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 6 Bra + 4 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 11 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 148 +-Memory allocation - code portion : 12 ++Memory allocation - code size : 12 + ------------------------------------------------------------------ + 0 7 Bra + 4 [^\x{aa}] +diff --git a/testdata/testoutput8-8-4 b/testdata/testoutput8-8-4 +index 81cf0f76..8bfac41a 100644 +--- a/testdata/testoutput8-8-4 ++++ b/testdata/testoutput8-8-4 +@@ -10,8 +10,7 @@ + #pattern fullbincode,memory + + /((?i)b)/ +-Memory allocation - compiled block : 161 +-Memory allocation - code portion : 25 ++Memory allocation - code size : 25 + ------------------------------------------------------------------ + 0 19 Bra + 5 9 CBra 1 +@@ -22,8 +21,7 @@ Memory allocation - code portion : 25 + ------------------------------------------------------------------ + + /(?s)(.*X|^B)/ +-Memory allocation - compiled block : 171 +-Memory allocation - code portion : 35 ++Memory allocation - code size : 35 + ------------------------------------------------------------------ + 0 29 Bra + 5 11 CBra 1 +@@ -38,8 +36,7 @@ Memory allocation - code portion : 35 + ------------------------------------------------------------------ + + /(?s:.*X|^B)/ +-Memory allocation - compiled block : 169 +-Memory allocation - code portion : 33 ++Memory allocation - code size : 33 + ------------------------------------------------------------------ + 0 27 Bra + 5 9 Bra +@@ -54,8 +51,7 @@ Memory allocation - code portion : 33 + ------------------------------------------------------------------ + + /^[[:alnum:]]/ +-Memory allocation - compiled block : 181 +-Memory allocation - code portion : 45 ++Memory allocation - code size : 45 + ------------------------------------------------------------------ + 0 39 Bra + 5 ^ +@@ -65,8 +61,7 @@ Memory allocation - code portion : 45 + ------------------------------------------------------------------ + + /#/Ix +-Memory allocation - compiled block : 147 +-Memory allocation - code portion : 11 ++Memory allocation - code size : 11 + ------------------------------------------------------------------ + 0 5 Bra + 5 5 Ket +@@ -78,8 +73,7 @@ Options: extended + Subject length lower bound = 0 + + /a#/Ix +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 a +@@ -92,8 +86,7 @@ First code unit = 'a' + Subject length lower bound = 1 + + /x?+/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 x?+ +@@ -102,8 +95,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /x++/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 x++ +@@ -112,8 +104,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /x{1,3}+/ +-Memory allocation - compiled block : 153 +-Memory allocation - code portion : 17 ++Memory allocation - code size : 17 + ------------------------------------------------------------------ + 0 11 Bra + 5 x +@@ -123,8 +114,7 @@ Memory allocation - code portion : 17 + ------------------------------------------------------------------ + + /(x)*+/ +-Memory allocation - compiled block : 162 +-Memory allocation - code portion : 26 ++Memory allocation - code size : 26 + ------------------------------------------------------------------ + 0 20 Bra + 5 Braposzero +@@ -136,8 +126,7 @@ Memory allocation - code portion : 26 + ------------------------------------------------------------------ + + /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ +-Memory allocation - compiled block : 280 +-Memory allocation - code portion : 144 ++Memory allocation - code size : 144 + ------------------------------------------------------------------ + 0 138 Bra + 5 ^ +@@ -160,8 +149,7 @@ Memory allocation - code portion : 144 + ------------------------------------------------------------------ + + "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 966 +-Memory allocation - code portion : 830 ++Memory allocation - code size : 830 + ------------------------------------------------------------------ + 0 824 Bra + 5 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -171,8 +159,7 @@ Memory allocation - code portion : 830 + ------------------------------------------------------------------ + + "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" +-Memory allocation - compiled block : 956 +-Memory allocation - code portion : 820 ++Memory allocation - code size : 820 + ------------------------------------------------------------------ + 0 814 Bra + 5 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDDqmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X +@@ -182,8 +169,7 @@ Memory allocation - code portion : 820 + ------------------------------------------------------------------ + + /(a(?1)b)/ +-Memory allocation - compiled block : 168 +-Memory allocation - code portion : 32 ++Memory allocation - code size : 32 + ------------------------------------------------------------------ + 0 26 Bra + 5 16 CBra 1 +@@ -196,8 +182,7 @@ Memory allocation - code portion : 32 + ------------------------------------------------------------------ + + /(a(?1)+b)/ +-Memory allocation - compiled block : 178 +-Memory allocation - code portion : 42 ++Memory allocation - code size : 42 + ------------------------------------------------------------------ + 0 36 Bra + 5 26 CBra 1 +@@ -212,8 +197,8 @@ Memory allocation - code portion : 42 + ------------------------------------------------------------------ + + /a(?Pb|c)d(?Pe)/ +-Memory allocation - compiled block : 214 +-Memory allocation - code portion : 50 ++Memory allocation - code size : 50 ++Memory allocation - data size : 28 + ------------------------------------------------------------------ + 0 44 Bra + 5 a +@@ -231,8 +216,8 @@ Memory allocation - code portion : 50 + ------------------------------------------------------------------ + + /(?:a(?Pc(?Pd)))(?Pa)/ +-Memory allocation - compiled block : 213 +-Memory allocation - code portion : 65 ++Memory allocation - code size : 65 ++Memory allocation - data size : 12 + ------------------------------------------------------------------ + 0 59 Bra + 5 35 Bra +@@ -252,8 +237,8 @@ Memory allocation - code portion : 65 + ------------------------------------------------------------------ + + /(?Pa)...(?P=a)bbb(?P>a)d/ +-Memory allocation - compiled block : 184 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 ++Memory allocation - data size : 4 + ------------------------------------------------------------------ + 0 38 Bra + 5 9 CBra 1 +@@ -271,8 +256,7 @@ Memory allocation - code portion : 44 + ------------------------------------------------------------------ + + /abc(?C255)de(?C)f/ +-Memory allocation - compiled block : 179 +-Memory allocation - code portion : 43 ++Memory allocation - code size : 43 + ------------------------------------------------------------------ + 0 37 Bra + 5 abc +@@ -285,8 +269,7 @@ Memory allocation - code portion : 43 + ------------------------------------------------------------------ + + /abcde/auto_callout +-Memory allocation - compiled block : 217 +-Memory allocation - code portion : 81 ++Memory allocation - code size : 81 + ------------------------------------------------------------------ + 0 75 Bra + 5 Callout 255 0 1 +@@ -305,8 +288,7 @@ Memory allocation - code portion : 81 + ------------------------------------------------------------------ + + /\x{100}/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{100} +@@ -315,8 +297,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{1000}/utf +-Memory allocation - compiled block : 151 +-Memory allocation - code portion : 15 ++Memory allocation - code size : 15 + ------------------------------------------------------------------ + 0 9 Bra + 5 \x{1000} +@@ -325,8 +306,7 @@ Memory allocation - code portion : 15 + ------------------------------------------------------------------ + + /\x{10000}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 10 Bra + 5 \x{10000} +@@ -335,8 +315,7 @@ Memory allocation - code portion : 16 + ------------------------------------------------------------------ + + /\x{100000}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 10 Bra + 5 \x{100000} +@@ -345,8 +324,7 @@ Memory allocation - code portion : 16 + ------------------------------------------------------------------ + + /\x{10ffff}/utf +-Memory allocation - compiled block : 152 +-Memory allocation - code portion : 16 ++Memory allocation - code size : 16 + ------------------------------------------------------------------ + 0 10 Bra + 5 \x{10ffff} +@@ -358,8 +336,7 @@ Memory allocation - code portion : 16 + Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large + + /[\x{ff}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{ff} +@@ -368,8 +345,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[\x{100}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{100} +@@ -378,8 +354,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x80/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{80} +@@ -388,8 +363,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\xff/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{ff} +@@ -398,8 +372,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf +-Memory allocation - compiled block : 158 +-Memory allocation - code portion : 22 ++Memory allocation - code size : 22 + ------------------------------------------------------------------ + 0 16 Bra + 5 A\x{2262}\x{391}. +@@ -413,8 +386,7 @@ Last code unit = '.' + Subject length lower bound = 4 + + /\x{D55c}\x{ad6d}\x{C5B4}/I,utf +-Memory allocation - compiled block : 159 +-Memory allocation - code portion : 23 ++Memory allocation - code size : 23 + ------------------------------------------------------------------ + 0 17 Bra + 5 \x{d55c}\x{ad6d}\x{c5b4} +@@ -428,8 +400,7 @@ Last code unit = \xb4 + Subject length lower bound = 3 + + /\x{65e5}\x{672c}\x{8a9e}/I,utf +-Memory allocation - compiled block : 159 +-Memory allocation - code portion : 23 ++Memory allocation - code size : 23 + ------------------------------------------------------------------ + 0 17 Bra + 5 \x{65e5}\x{672c}\x{8a9e} +@@ -443,8 +414,7 @@ Last code unit = \x9e + Subject length lower bound = 3 + + /[\x{100}]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{100} +@@ -453,8 +423,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[Z\x{100}]/utf +-Memory allocation - compiled block : 189 +-Memory allocation - code portion : 53 ++Memory allocation - code size : 53 + ------------------------------------------------------------------ + 0 47 Bra + 5 [Z\x{100}] +@@ -463,8 +432,7 @@ Memory allocation - code portion : 53 + ------------------------------------------------------------------ + + /^[\x{100}\E-\Q\E\x{150}]/utf +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 18 Bra + 5 ^ +@@ -474,8 +442,7 @@ Memory allocation - code portion : 24 + ------------------------------------------------------------------ + + /^[\QĀ\E-\QŐ\E]/utf +-Memory allocation - compiled block : 160 +-Memory allocation - code portion : 24 ++Memory allocation - code size : 24 + ------------------------------------------------------------------ + 0 18 Bra + 5 ^ +@@ -488,8 +455,7 @@ Memory allocation - code portion : 24 + Failed: error 106 at offset 15: missing terminating ] for character class + + /[\p{L}]/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\p{L}] +@@ -498,8 +464,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[\p{^L}]/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\P{L}] +@@ -508,8 +473,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[\P{L}]/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\P{L}] +@@ -518,8 +482,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[\P{^L}]/ +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\p{L}] +@@ -528,8 +491,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[abc\p{L}\x{0660}]/utf +-Memory allocation - compiled block : 192 +-Memory allocation - code portion : 56 ++Memory allocation - code size : 56 + ------------------------------------------------------------------ + 0 50 Bra + 5 [a-c\p{L}\x{660}] +@@ -538,8 +500,7 @@ Memory allocation - code portion : 56 + ------------------------------------------------------------------ + + /[\p{Nd}]/utf +-Memory allocation - compiled block : 157 +-Memory allocation - code portion : 21 ++Memory allocation - code size : 21 + ------------------------------------------------------------------ + 0 15 Bra + 5 [\p{Nd}] +@@ -548,8 +509,7 @@ Memory allocation - code portion : 21 + ------------------------------------------------------------------ + + /[\p{Nd}+-]+/utf +-Memory allocation - compiled block : 190 +-Memory allocation - code portion : 54 ++Memory allocation - code size : 54 + ------------------------------------------------------------------ + 0 48 Bra + 5 [+\-\p{Nd}]++ +@@ -558,8 +518,7 @@ Memory allocation - code portion : 54 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf +-Memory allocation - compiled block : 165 +-Memory allocation - code portion : 29 ++Memory allocation - code size : 29 + ------------------------------------------------------------------ + 0 23 Bra + 5 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -568,8 +527,7 @@ Memory allocation - code portion : 29 + ------------------------------------------------------------------ + + /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf +-Memory allocation - compiled block : 165 +-Memory allocation - code portion : 29 ++Memory allocation - code size : 29 + ------------------------------------------------------------------ + 0 23 Bra + 5 A\x{391}\x{10427}\x{ff3a}\x{1fb0} +@@ -578,8 +536,7 @@ Memory allocation - code portion : 29 + ------------------------------------------------------------------ + + /[\x{105}-\x{109}]/i,utf +-Memory allocation - compiled block : 159 +-Memory allocation - code portion : 23 ++Memory allocation - code size : 23 + ------------------------------------------------------------------ + 0 17 Bra + 5 [\x{104}-\x{109}] +@@ -588,8 +545,7 @@ Memory allocation - code portion : 23 + ------------------------------------------------------------------ + + /( ( (?(1)0|) )* )/x +-Memory allocation - compiled block : 192 +-Memory allocation - code portion : 56 ++Memory allocation - code size : 56 + ------------------------------------------------------------------ + 0 50 Bra + 5 40 CBra 1 +@@ -607,8 +563,7 @@ Memory allocation - code portion : 56 + ------------------------------------------------------------------ + + /( (?(1)0|)* )/x +-Memory allocation - compiled block : 180 +-Memory allocation - code portion : 44 ++Memory allocation - code size : 44 + ------------------------------------------------------------------ + 0 38 Bra + 5 28 CBra 1 +@@ -624,8 +579,7 @@ Memory allocation - code portion : 44 + ------------------------------------------------------------------ + + /[a]/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 a +@@ -634,8 +588,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[a]/utf +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 a +@@ -644,8 +597,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[\xaa]/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 \x{aa} +@@ -654,8 +606,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[\xaa]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 \x{aa} +@@ -664,8 +615,7 @@ Memory allocation - code portion : 14 + ------------------------------------------------------------------ + + /[^a]/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 [^a] +@@ -674,8 +624,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[^a]/utf +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 [^a] +@@ -684,8 +633,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[^\xaa]/ +-Memory allocation - compiled block : 149 +-Memory allocation - code portion : 13 ++Memory allocation - code size : 13 + ------------------------------------------------------------------ + 0 7 Bra + 5 [^\x{aa}] +@@ -694,8 +642,7 @@ Memory allocation - code portion : 13 + ------------------------------------------------------------------ + + /[^\xaa]/utf +-Memory allocation - compiled block : 150 +-Memory allocation - code portion : 14 ++Memory allocation - code size : 14 + ------------------------------------------------------------------ + 0 8 Bra + 5 [^\x{aa}] +-- +2.45.1 + diff --git a/SPECS/pcre2.spec b/SPECS/pcre2.spec new file mode 100644 index 0000000..f1f1885 --- /dev/null +++ b/SPECS/pcre2.spec @@ -0,0 +1,864 @@ +# Add readline edditing in pcre2test tool +%bcond_without pcre2_enables_readline + +# Disable SELinux-frindly JIT allocator because it seems not to be fork-safe, +# https://bugs.exim.org/show_bug.cgi?id=1749#c45 +%bcond_with pcre2_enables_sealloc + +# This is stable release: +#%%global rcversion RC1 +Name: pcre2 +Version: 10.44 +Release: %{?rcversion:0.}1%{?rcversion:.%rcversion}%{?dist}.2 +%global myversion %{version}%{?rcversion:-%rcversion} +Summary: Perl-compatible regular expression library +# the library: BSD with exceptions +# pcre2test (linked to GNU readline): BSD (linked to GPLv3+) +# COPYING: see LICENCE file +# LICENSE: BSD text with exceptions and +# Public Domain declaration +# for testdata +#Bundled +# src/sljit: BSD +#Not distributed in any binary package +# aclocal.m4: FSFULLR and GPLv2+ with exception +# ar-lib: GPLv2+ with exception +# cmake/COPYING-CMAKE-SCRIPTS: BSD +# compile: GPLv2+ with exception +# config.guess: GPLv3+ with exception +# config.sub: GPLv3+ with exception +# configure: FSFUL and GPLv2+ with exception +# depcomp: GPLv2+ with exception +# INSTALL: FSFAP +# install-sh: MIT +# ltmain.sh: GPLv2+ with exception and (MIT or GPLv3+) +# m4/ax_pthread.m4: GPLv3+ with exception +# m4/libtool.m4: FSFUL and FSFULLR and +# GPLv2+ with exception +# m4/ltoptions.m4: FSFULLR +# m4/ltsugar.m4: FSFULLR +# m4/ltversion.m4: FSFULLR +# m4/lt~obsolete.m4: FSFULLR +# m4/pcre2_visibility.m4: FSFULLR +# Makefile.in: FSFULLR +# missing: GPLv2+ with exception +# test-driver: GPLv2+ with exception +# testdata: Public Domain +License: BSD-3-Clause AND FSFULLR AND X11 AND GPL-2.0-or-later AND FSFAP AND FSFUL AND GPL-3.0-or-later +URL: https://www.pcre.org/ +Source0: https://github.com/PCRE2Project/pcre2/releases/download/pcre2-%{version}/pcre2-%{version}.tar.bz2 +Source1: https://github.com/PCRE2Project/pcre2/releases/download/pcre2-%{version}/pcre2-%{version}.tar.bz2.sig +Source2: https://ftp.pcre.org/pub/pcre/Public-Key +# Do no set RPATH if libdir is not /usr/lib +Patch0: pcre2-10.10-Fix-multilib.patch +# Upstream commit: https://github.com/PCRE2Project/pcre2/commit/57906628d7babd27c01eb1c085d3e0cdd512189a +# Fixes the failing tests on 32-bit arch (i686) +Patch1: pcre2-10.44-pcre2test-memory-reports-only-compiled-memory-usage.patch + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: coreutils +BuildRequires: gcc +BuildRequires: gnupg2 +BuildRequires: libtool +BuildRequires: make +%if %{with pcre2_enables_readline} +BuildRequires: readline-devel +%endif +BuildRequires: sed +Requires: %{name}-syntax = %{version}-%{release} +Provides: bundled(sljit) + +%description +PCRE2 is a re-working of the original PCRE (Perl-compatible regular +expression) library to provide an entirely new API. + +PCRE2 is written in C, and it has its own API. There are three sets of +functions, one for the 8-bit library, which processes strings of bytes, one +for the 16-bit library, which processes strings of 16-bit values, and one for +the 32-bit library, which processes strings of 32-bit values. There are no C++ +wrappers. This package provides support for strings in 8-bit and UTF-8 +encodings. Install %{name}-utf16 or %{name}-utf32 packages for the other ones. + +The distribution does contain a set of C wrapper functions for the 8-bit +library that are based on the POSIX regular expression API (see the pcre2posix +man page). These can be found in a library called libpcre2posix. Note that +this just provides a POSIX calling interface to PCRE2; the regular expressions +themselves still follow Perl syntax and semantics. The POSIX API is +restricted, and does not give full access to all of PCRE2's facilities. + +%package utf16 +Summary: UTF-16 variant of PCRE2 +Provides: bundled(sljit) +Requires: %{name}-syntax = %{version}-%{release} +Conflicts: %{name}%{?_isa} < 10.21-4 + +%description utf16 +This is PCRE2 library working on UTF-16 strings. + +%package utf32 +Summary: UTF-32 variant of PCRE2 +Provides: bundled(sljit) +Requires: %{name}-syntax = %{version}-%{release} +Conflicts: %{name}%{?_isa} < 10.21-4 + +%description utf32 +This is PCRE2 library working on UTF-32 strings. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-utf16%{?_isa} = %{version}-%{release} +Requires: %{name}-utf32%{?_isa} = %{version}-%{release} + +%description devel +Development files (headers, libraries for dynamic linking, documentation) +for %{name}. The header file for the POSIX-style functions is called +pcre2posix.h. + +%package static +Summary: Static library for %{name} +Requires: %{name}-devel%{_isa} = %{version}-%{release} +Provides: bundled(sljit) + +%description static +Library for static linking for %{name}. + +%package syntax +Summary: Documentation for PCRE2 regular expressions +BuildArch: noarch +Conflicts: %{name}-devel < 10.34-8 + +%description syntax +This is a set of manual pages that document a syntax of the regular +expressions implemented by the PCRE2 library. + +%package tools +Summary: Auxiliary utilities for %{name} +# pcre2test: BSD +License: BSD-3-Clause +Requires: %{name}%{_isa} = %{version}-%{release} +Requires: %{name}-utf32 = %{version}-%{release} +Requires: %{name}-utf16 = %{version}-%{release} + +%description tools +Utilities demonstrating PCRE2 capabilities like pcre2grep or pcre2test. + +%prep +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%autosetup -n %{name}-%{myversion} -p1 +# Because of multilib patch +libtoolize --copy --force +autoreconf -vif + +%build +# There is a strict-aliasing problem on PPC64, bug #881232 +%ifarch ppc64 +%global optflags %{optflags} -fno-strict-aliasing +%endif +%configure \ +%ifarch s390 sparc64 sparcv9 + --disable-jit \ + --disable-pcre2grep-jit \ +%else + --enable-jit \ + --enable-pcre2grep-jit \ +%endif + --disable-bsr-anycrlf \ + --disable-coverage \ + --disable-ebcdic \ + --disable-fuzz-support \ +%if %{with pcre2_enables_sealloc} + --enable-jit-sealloc \ +%else + --disable-jit-sealloc \ +%endif + --disable-never-backslash-C \ + --enable-newline-is-lf \ + --enable-pcre2-8 \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ + --enable-pcre2grep-callout \ + --enable-pcre2grep-callout-fork \ + --disable-pcre2grep-libbz2 \ + --disable-pcre2grep-libz \ + --disable-pcre2test-libedit \ +%if %{with pcre2_enables_readline} + --enable-pcre2test-libreadline \ +%else + --disable-pcre2test-libreadline \ +%endif + --enable-percent-zt \ + --disable-rebuild-chartables \ + --enable-shared \ + --disable-silent-rules \ + --enable-static \ + --enable-unicode \ + --disable-valgrind +%{make_build} + +%install +%{make_install} +# Get rid of unneeded *.la files +rm -f $RPM_BUILD_ROOT%{_libdir}/*.la +# These are handled by %%doc in %%files +rm -rf $RPM_BUILD_ROOT%{_docdir}/pcre2 + +%check +make %{?_smp_mflags} check VERBOSE=yes + +%files +%{_libdir}/libpcre2-8.so.0* +%{_libdir}/libpcre2-posix.so.3* + +%files utf16 +%{_libdir}/libpcre2-16.so.0* + +%files utf32 +%{_libdir}/libpcre2-32.so.0* + +%files devel +%{_libdir}/*.so +%{_libdir}/pkgconfig/* +%{_includedir}/*.h +%{_mandir}/man1/pcre2-config.* +%{_mandir}/man3/pcre2_* +%{_mandir}/man3/pcre2api.* +%{_mandir}/man3/pcre2build.* +%{_mandir}/man3/pcre2callout.* +%{_mandir}/man3/pcre2convert.* +%{_mandir}/man3/pcre2demo.* +%{_mandir}/man3/pcre2jit.* +%{_mandir}/man3/pcre2posix.* +%{_mandir}/man3/pcre2sample.* +%{_mandir}/man3/pcre2serialize* +%{_bindir}/pcre2-config +%doc doc/*.txt doc/html +%doc README HACKING ./src/pcre2demo.c + +%files static +%{_libdir}/*.a +%license COPYING LICENCE + +%files syntax +%license COPYING LICENCE +%doc AUTHORS ChangeLog NEWS +%{_mandir}/man3/pcre2.* +%{_mandir}/man3/pcre2compat.* +%{_mandir}/man3/pcre2limits.* +%{_mandir}/man3/pcre2matching.* +%{_mandir}/man3/pcre2partial.* +%{_mandir}/man3/pcre2pattern.* +%{_mandir}/man3/pcre2perform.* +%{_mandir}/man3/pcre2syntax.* +%{_mandir}/man3/pcre2unicode.* + +%files tools +%{_bindir}/pcre2grep +%{_bindir}/pcre2test +%{_mandir}/man1/pcre2grep.* +%{_mandir}/man1/pcre2test.* + +%changelog +* Tue Nov 26 2024 MSVSphere Packaging Team - 10.44-1.2 +- Rebuilt for MSVSphere 10 + +* Wed Jul 24 2024 Lukas Javorsky - 10.44-1.2 +- Another rebuild for gating + +* Mon Jul 22 2024 Lukas Javorsky - 10.44-1.1 +- Rebuild for fixed gating and fmf tests + +* Fri Jul 19 2024 Lukas Javorsky - 10.44-1 +- Rebase to version 10.44 + +* Mon Jun 24 2024 Troy Dawson - 10.42-3.3 +- Bump release for June 2024 mass rebuild + +* Wed May 15 2024 Lukas Javorsky - 10.42-3.2 +- Explicitly require uft subpackages in tools subpackage + +* Wed May 15 2024 Lukas Javorsky - 10.42-3.1 +- Rebuilt for missing gating.yaml + +* Tue May 14 2024 Lukas Javorsky - 10.42-3 +- Migrate licenses to SPDX format and add the forgotten + +* Thu Jan 25 2024 Fedora Release Engineering - 10.42-2.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 10.42-2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Nov 10 2023 Lukas Javorsky - 10.42-2 +- Fix an issue with restoring originally unset entries in recursion +- Resolves: BZ#2248133 + +* Thu Jul 20 2023 Fedora Release Engineering - 10.42-1.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 10.42-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Dec 16 2022 Lukas Javorsky - 10.42-1 +- Rebase to version 10.42 +- RISC-V is JIT enabled according to the https://github.com/PCRE2Project/pcre2/issues/14 + +* Fri Jul 22 2022 Fedora Release Engineering - 10.40-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Apr 25 2022 Lukas Javorsky - 10.40-1 +- Rebase to the 10.40 +- Resolves multiple Out-of-bounds read errors + +* Thu Jan 20 2022 Fedora Release Engineering - 10.39-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Nov 01 2021 Lukas Javorsky - 10.39-1 +- Rebase to the 10.39 + +* Mon Oct 04 2021 Lukas Javorsky - 10.38-1 +- Rebase to the 10.38 +- Patch 1 upstreamed + +* Tue Jul 27 2021 Lukas Javorsky - 10.37-4 +- Fix invalid single character repetition in JIT +- Resolves: BZ#1985484 + +* Thu Jul 22 2021 Fedora Release Engineering - 10.37-3.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jul 15 2021 Lukas Javorsky - 10.37-3 +- Revert of copying the old posix library - After rebuilding all +- dependend packages we don't need to backport the old library + +* Wed Jul 14 2021 Lukas Javorsky - 10.37-2 +- Release bump + +* Tue Jun 15 2021 Lukas Javorsky - 10.37-1 +- Rebase to the 10.37 +- libpcre2-posix.so.2* SONAME bump to libpcre2-posix.so.3* +- Enable JIT for s390x arch +- Patches upstreamed: Patch 1,2,3,4 +- Resolves: rhbz#1970765, BZ#1965025 + +* Fri Feb 19 2021 Petr Pisar - 10.36-4 +- Fix a mismatch if \K was involved in a recursion +- Restore single character repetition optimization in JIT (upstream bug #2698) + +* Tue Feb 02 2021 Petr Pisar - 10.36-3 +- Fix misparsing long numbers as a backreference and a number without + a closing bracket as a quantifier (upstream bug #2690) + +* Tue Jan 26 2021 Fedora Release Engineering - 10.36-2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jan 15 2021 Petr Pisar - 10.36-2 +- Fix a possible NULL pointer dereference in auto_possessify() + (upstream bug #2686) + +* Tue Dec 15 2020 Petr Pisar - 10.36-1 +- 10.36 bump + +* Mon Nov 09 2020 Petr Pisar - 10.36-0.1.RC1 +- 10.36-RC1 bump + +* Tue Oct 27 2020 Petr Pisar - 10.35-8 +- Fix a partial matching for a word boundary in JIT mode (upstream bug #2663) + +* Mon Sep 21 2020 Petr Pisar - 10.35-7 +- Fix matching a character set when JIT is enabled and both Unicode script and + Unicode class are present (upstream bug #2644) + +* Wed Sep 16 2020 Petr Pisar - 10.35-6 +- Fix escaping test data and only allow slash delimiter after perltest pragma + (upstream bug #2641) +- Fix a mismatch when caselessly searching in an invalid UTF-8 text and a start + optimization is enabled (upstream bug #2642) + +* Mon Sep 14 2020 Petr Pisar - 10.35-5 +- Fix escaping test data (upstream bug #2641) + +* Tue Jul 28 2020 Fedora Release Engineering - 10.35-4.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 15 2020 Petr Pisar - 10.35-4 +- Fix a buffer overread when parsing an unterminated VERSION condition with + a single-digit minor number at the end of a regular expression + (ClusterFuzz #23779) +- Fix an early fail optimization with character ranges and a buffer overread + in JIT (upstream bug #2621) + +* Tue Jun 02 2020 Petr Pisar - 10.35-3 +- Fix an infinite loop when a single-byte newline is search in JIT if an + invalid UTF-8 mode is enabled (upstream bug #2581) + +* Wed May 27 2020 Petr Pisar - 10.35-2 +- Enable shadow stack built-in functions if -fcf-protection compiler flag is + used by patching a build script (upstream bug #2578) + +* Mon May 11 2020 Petr Pisar - 10.35-1 +- 10.35 bump + +* Mon Apr 27 2020 Petr Pisar - 10.35-0.2.RC1 +- Fix a compiler warning about -1 index + +* Thu Apr 16 2020 Petr Pisar - 10.35-0.1.RC1 +- 10.35-RC1 bump + +* Mon Mar 23 2020 Petr Pisar - 10.34-9 +- Fix a JIT compilation of the Unicode scripts in the extended character classes + (upstream bug #2432) + +* Mon Mar 16 2020 Petr Pisar - 10.34-8 +- Fix computing an offest for the start of the UTF-16 error when a high + surrogate is not followed by a valid low surrogate (upstream bug #2527) +- Fix compiling a lookbehind when preceded by a DEFINE group + (upstream bug #2531) +- Make manual pages about pattern syntax available when the library is + installed (bug #1808612) + +* Thu Feb 20 2020 Petr Pisar - 10.34-7 +- Fix a crash in JIT when an invalid UTF-8 character is encountered in + match_invalid_utf mode (upstream bug #2529) + +* Mon Feb 17 2020 Petr Pisar - 10.34-6 +- Fix restoring a verb chain list when exiting a JIT-compiled recursive + function + +* Wed Jan 29 2020 Fedora Release Engineering - 10.34-5.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Jan 27 2020 Petr Pisar - 10.34-5 +- Fix a memory leak when allocating a JIT stack fails +- Ensure a newline after the final line in a file is output by pcre2grep + (upstream bug #2513) +- Fix processing (?(DEFINE)...) within look-behind assertions +- Prevent from a stack exhaustion when studying a pattern for nested groups by + putting a limit of 1000 recursive calls + +* Mon Jan 13 2020 Petr Pisar - 10.34-4 +- Fix a crash in JITted code when a *THEN verb is used in a lookahead assertion + (upstream bug #2510) + +* Mon Dec 09 2019 Petr Pisar - 10.34-3 +- Fix a crash in pcre2_jit_compile when passing a NULL code argument (upstream + bug #2487) + +* Thu Nov 28 2019 Petr Pisar - 10.34-2 +- Fix JIT to respect NOTEMPTY options (upstream bug #2473) + +* Fri Nov 22 2019 Petr Pisar - 10.34-1 +- 10.34 bump + +* Mon Nov 18 2019 Petr Pisar - 10.34-0.2.RC2 +- Fix optimized caseless matching of non-ASCII characters in assertions + (upstream bug #2466) + +* Thu Nov 07 2019 Petr Pisar - 10.34-0.1.RC2 +- 10.34-RC2 bump +- Fix an infinite loop in 64-bit ARM JIT with NEON instructions + +* Wed Oct 30 2019 Petr Pisar - 10.34-0.1.RC1 +- 10.34-RC1 bump + +* Tue Oct 29 2019 Petr Pisar - 10.33-15 +- Fix a use after free when freeing JIT memory (upstream bug #2453) +- Fix thread-safeness in regexec() (upstream bug #2447) + +* Mon Sep 09 2019 Petr Pisar - 10.33-14 +- Fix a crash in JIT match when a subject has a zero length and an invalid + pointer (upstream bug #2440) + +* Tue Aug 27 2019 Petr Pisar - 10.33-13 +- Readd a fix for a mismatch with a lookbehind within a lookahead within + a lookbehind and fix the regression in matching a lookbehind after + a condition (bug #1743863) + +* Mon Aug 26 2019 Petr Pisar - 10.33-12 +- Revert a fix for a mismatch with a lookbehind within a lookahead within + a lookbehind (bug #1743863) + +* Mon Aug 12 2019 Petr Pisar - 10.33-11 +- Fix reporting rightmost consulted characters + +* Mon Aug 05 2019 Petr Pisar - 10.33-10 +- Fix an incorrect computation of a group length when a branch exceeds 65535 + (upstream bug #2428) +- Use HTTPS protocol in URL metadata + +* Fri Jul 26 2019 Fedora Release Engineering - 10.33-9.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jul 22 2019 Petr Pisar - 10.33-9 +- Fix a recursion in compiling an expression with a lookbehind within a + lookahead (upstream bug #2412) + +* Wed Jul 17 2019 Petr Pisar - 10.33-8 +- Fix a mismatch with a lookbehind within a lookahead within a lookbehind + (upstream bug #2412) + +* Thu Jul 11 2019 Petr Pisar - 10.33-7 +- Fix an integer overflow when checking a lookbehind length + +* Wed Jul 03 2019 Petr Pisar - 10.33-6 +- Fix a DFA to recognize a partial match if the end of a subject is encountered + in a lookahead, an atomic group, or a recursion + +* Thu Jun 20 2019 Petr Pisar - 10.33-5 +- Do not ignore {1} quantifier when it is applied to a non-possessive group + with more alternatives + +* Mon Jun 17 2019 Petr Pisar - 10.33-4 +- Fix a non-JIT match to return (*MARK) names from a successful conditional + assertion +- Fix pcre2grep --only-matching output when number of capturing groups exceeds + 32 (upstream bug #2407) + +* Mon May 13 2019 Petr Pisar - 10.33-3 +- Correct a misspelling in a documentation +- Fix a crash when \X is used without UTF mode in a JIT (upstream bug #2399) + +* Mon May 06 2019 Petr Pisar - 10.33-2 +- Validate number of capturing parentheses + +* Tue Apr 16 2019 Petr Pisar - 10.33-1 +- 10.33 bump + +* Tue Mar 26 2019 Petr Pisar - 10.33-0.4.RC1 +- Do not use SSE2 instructions on x86 CPUs without SSE2 support + (upstream bug #2385) + +* Wed Mar 13 2019 Petr Pisar - 10.33-0.3.RC1 +- Use upstream fix for a crash in pcre2_substitute() function if mcontext + argument is NULL (bug #1686434) + +* Mon Mar 11 2019 Petr Pisar - 10.33-0.2.RC1 +- Fix a crash in pcre2_substitute() function if mcontext argument is NULL + (bug #1686434) + +* Tue Mar 05 2019 Petr Pisar - 10.33-0.1.RC1 +- 10.33-RC1 bump + +* Fri Feb 22 2019 Petr Pisar - 10.32-8 +- Fix pcre2_pattern_info() documentation (upstream bug #2373) + +* Sun Feb 17 2019 Igor Gnatenko - 10.32-7.1 +- Rebuild for readline 8.0 + +* Thu Jan 31 2019 Petr Pisar - 10.32-7 +- Fix version conditions in DFA engine (upstream bug #2367) +- Use an upstream fix for POSIX names as macros (bug #1667614) + +* Tue Jan 22 2019 Petr Pisar - 10.32-6 +- Link applications to PCRE2-specific symbols when using POSIX API (bug #1667614) + +* Thu Jan 03 2019 Petr Pisar - 10.32-5 +- Fix anchoring a pattern preceded with (*MARK) +- Fix OpenPOWER 64-bit ELFv2 ABI detection in JIT compiler (upstream bug #2353) +- Fix an undefined behavior in aarch64 JIT compiler (upstream bug #2355) + +* Thu Nov 01 2018 Petr Pisar - 10.32-4 +- Fix matching a zero-repeated subroutine call at a start of a pattern + (upstream bug #2332) +- Fix heap limit checking overflow in pcre2_dfa_match() (upstream bug #2334) + +* Mon Sep 24 2018 Petr Pisar - 10.32-3 +- Fix caseless matching an extended class in JIT mode (upstream bug #2321) + +* Tue Sep 18 2018 Petr Pisar - 10.32-2 +- Fix a subject buffer overread in JIT when UTF is disabled and \X or \R has + a greater than 1 fixed quantifier (upstream bug #2320) + +* Wed Sep 12 2018 Petr Pisar - 10.32-1 +- 10.32 bump + +* Mon Sep 03 2018 Petr Pisar - 10.32-0.3.RC1 +- Accept \N{U+hhhh} only in UTF mode (upstream bug #2305) +- Fix anchoring in conditionals with only one branch (upstream bug #2307) + +* Mon Aug 20 2018 Petr Pisar - 10.32-0.2.RC1 +- Fix autopossessifying a repeated negative class with no characters less than + 256 that is followed by a positive class with only characters less than 256, + (upstream bug #2300) + +* Thu Aug 16 2018 Petr Pisar - 10.32-0.1.RC1 +- 10.32-RC1 bump + +* Thu Aug 16 2018 Petr Pisar - 10.31-9 +- Recognize all Unicode space characters with /x option in a pattern +- Fix changing dynamic options + +* Tue Jul 31 2018 Petr Pisar - 10.31-8 +- Fix backtracking atomic groups when they are not separated by something with + a backtracking point + +* Fri Jul 13 2018 Fedora Release Engineering - 10.31-7.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 09 2018 Petr Pisar - 10.31-7 +- Fix checking that a lookbehind assertion has a fixed length if the + lookbehind assertion is used inside a lookahead assertion +- Fix parsing VERSION conditions + +* Mon Jul 02 2018 Petr Pisar - 10.31-6 +- Fix global search/replace in pcre2test and pcre2_substitute() when the pattern + matches an empty string, but never at the starting offset + +* Mon Jun 25 2018 Petr Pisar - 10.31-5 +- Fix bug when \K is used in a lookbehind in a substitute pattern + +* Fri Mar 16 2018 Petr Pisar - 10.31-4 +- Fix setting error offset zero for early errors in pcre2_pattern_convert() + +* Mon Feb 26 2018 Petr Pisar - 10.31-3 +- Add support to pcre2grep for binary zeros in -f files (upstream bug #2222) +- Fix compiler warnings in pcre2grep + +* Tue Feb 20 2018 Petr Pisar - 10.31-2 +- Fix returning unset groups in POSIX interface if REG_STARTEND has a non-zero + starting offset (upstream bug #2244) +- Fix pcre2test -C to correctly show what \R matches +- Fix matching repeated character classes against an 8-bit string containting + multi-code-unit characters + +* Mon Feb 12 2018 Petr Pisar - 10.31-1 +- 10.31 bump + +* Thu Feb 08 2018 Fedora Release Engineering - 10.31-0.3.RC1.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Feb 02 2018 Igor Gnatenko - 10.31-0.3.RC1.1 +- Switch to %%ldconfig_scriptlets + +* Thu Feb 01 2018 Petr Pisar - 10.31-0.3.RC1 +- Fix auto-possessification at the end of a capturing group that is called + recursively (upstream bug #2232) + +* Tue Jan 30 2018 Petr Pisar - 10.31-0.2.RC1 +- Enlarge ovector array match data structure to be large enough in all cases + (oss-fuzz #5415) + +* Mon Jan 15 2018 Petr Pisar - 10.31-0.1.RC1 +- 10.31-RC1 bump + +* Fri Jan 12 2018 Petr Pisar - 10.30-5 +- Fix handling \K in an assertion in pcre2grep tool and documentation + (upstream bug #2211) +- Fix matching at a first code unit of a new line sequence if PCRE2_FIRSTLINE + is enabled + +* Fri Dec 22 2017 Petr Pisar - 10.30-4 +- Fix pcre2_jit_match() to properly check the pattern was JIT-compiled +- Allow pcre2grep match counter to handle values larger than 2147483647, + (upstream bug #2208) +- Fix incorrect first matching character when a backreference with zero minimum + repeat starts a pattern (upstream bug #2209) + +* Mon Nov 13 2017 Petr Pisar - 10.30-3 +- Fix multi-line matching in pcre2grep tool (upstream bug #2187) + +* Thu Nov 02 2017 Petr Pisar - 10.30-2 +- Accept files names longer than 128 bytes in recursive mode of pcre2grep + (upstream bug #2177) + +* Tue Aug 15 2017 Petr Pisar - 10.30-1 +- 10.30 bump + +* Wed Aug 02 2017 Petr Pisar - 10.30-0.6.RC1 +- Disable SELinux-friendly JIT allocator because it crashes after a fork + (upstream bug #1749) + +* Mon Jul 31 2017 Petr Pisar - 10.30-0.5.RC1 +- Fix handling a hyphen at the end of a character class (upstream bug #2153) + +* Sat Jul 29 2017 Florian Weimer - 10.30-0.4.RC1 +- Rebuild with binutils fix for ppc64le (#1475636) + +* Thu Jul 27 2017 Petr Pisar - 10.30-0.3.RC1 +- Fix applying local x modifier while global xx was in effect + +* Thu Jul 27 2017 Fedora Release Engineering - 10.30-0.2.RC1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 24 2017 Petr Pisar - 10.30-0.2.RC1 +- Fix a compiler warning in JIT code for ppc32 + +* Thu Jul 20 2017 Petr Pisar - 10.30-0.1.RC1 +- 10.30-RC1 bump +- Heap-based matching implementation replaced stack-based one +- SELinux-friendly JIT enabled + +* Fri Jun 16 2017 Petr Pisar - 10.23-8 +- Fix DFA matching a lookbehind assertion that has a zero-length branch + (PCRE2 oss-fuzz issue 1859) +- Fix returned offsets from regexec() when REG_STARTEND is used with starting offset + greater than zero (upstream bug #2128) + +* Tue May 09 2017 Petr Pisar - 10.23-7 +- Fix a pcre2test crash on multiple push statements (upstream bug #2109) + +* Tue Apr 18 2017 Petr Pisar - 10.23-6 +- Fix CVE-2017-7186 in JIT mode (a crash when finding a Unicode property for + a character with a code point greater than 0x10ffff in UTF-32 library while + UTF mode is disabled) (bug #1434504) +- Fix an incorrect cast in UTF validation (upstream bug #2090) + +* Mon Mar 27 2017 Petr Pisar - 10.23-5 +- Fix DFA match for a possessively repeated character class (upstream bug #2086) +- Use a memory allocator from the pattern if no context is supplied to + pcre2_match() + +* Wed Mar 22 2017 Petr Pisar - 10.23-4 +- Close serialization file in pcre2test after any error (upstream bug #2074) +- Fix a memory leak in pcre2_serialize_decode() when the input is invalid + (upstream bug #2075) +- Fix a potential NULL dereference in pcre2_callout_enumerate() if called with + a NULL pattern pointer when Unicode support is available (upstream bug #2076) +- Fix CVE-2017-8786 (32-bit error buffer size bug in pcre2test) (bug #1500717) + +* Mon Mar 20 2017 Petr Pisar - 10.23-3 +- Fix an internal error for a forward reference in a lookbehind with + PCRE2_ANCHORED (oss-fuzz bug #865) +- Fix a pcre2test bug for global match with zero terminated subject + (upstream bug #2063) + +* Mon Feb 27 2017 Petr Pisar - 10.23-2 +- Handle memmory allocation failures in pcre2test tool +- Fix CVE-2017-7186 (a crash when finding a Unicode property for a character + with a code point greater than 0x10ffff in UTF-32 library while UTF mode is + disabled) (upstream bug #2052) + +* Tue Feb 14 2017 Petr Pisar - 10.23-1 +- 10.23 bump + +* Sat Feb 11 2017 Fedora Release Engineering - 10.23-0.1.RC1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jan 17 2017 Petr Pisar - 10.23-0.1.RC1 +- 10.23-RC1 bump + +* Thu Jan 12 2017 Igor Gnatenko - 10.22-10.1 +- Rebuild for readline 7.x + +* Thu Jan 12 2017 Petr Pisar - 10.22-10 +- Fix an out-of-bound read in pcre2test tool within POSIX mode + (upstream bug #2008) + +* Tue Jan 03 2017 Petr Pisar - 10.22-9 +- Fix compiling a class with UCP and without UTF + +* Fri Dec 16 2016 Petr Pisar - 10.22-8 +- Fix a crash when doing an extended substitution for \p, \P, or \X + (upstream bug #1977) +- Fix a crash in substitution if starting offest was specified beyond the + subject end (upstream bug #1992) + +* Fri Dec 09 2016 Petr Pisar - 10.22-7 +- Fix pcre2-config --libs-posix output (upstream bug #1924) +- Fix a memory leak and a typo in a documentation (upstream bug #1973) +- Fix a buffer overflow in partial match test for CRLF in an empty buffer + (upstream bug #1975) +- Fix a crash in pcre2test when displaying a wide character with a set locate + (upstream bug #1976) + +* Tue Nov 08 2016 Petr Pisar - 10.22-6 +- Fix faulty auto-anchoring patterns when .* is inside an assertion + +* Mon Oct 24 2016 Petr Pisar - 10.22-5 +- Document assert capture limitation (upstream bug #1887) +- Ignore offset modifier in pcre2test in POSIX mode (upstream bug #1898) + +* Wed Oct 19 2016 Richard W.M. Jones <@redhat.com> - 10.22-4 +- Disable the JIT on riscv64. + +* Wed Oct 19 2016 Petr Pisar - 10.22-3 +- Fix displaying a callout position in pcretest output with an escape sequence + greater than \x{ff} +- Fix pcrepattern(3) documentation +- Fix miscopmilation of conditionals when a group name start with "R" + (upstream bug #1873) +- Fix internal option documentation in pcre2pattern(3) (upstream bug #1875) +- Fix optimization bugs for patterns starting with lookaheads + (upstream bug #1882) + +* Mon Aug 29 2016 Petr Pisar - 10.22-2 +- Fix matching characters above 255 when a negative character type was used + without enabled UCP in a positive class (upstream bug #1866) + +* Fri Jul 29 2016 Petr Pisar - 10.22-1 +- 10.22 bump + +* Thu Jun 30 2016 Petr Pisar - 10.22-0.1.RC1 +- 10.22-RC1 bump +- libpcre2-posix library changed ABI +- Fix register overwite in JIT when SSE2 acceleration is enabled +- Correct pcre2unicode(3) documentation + +* Mon Jun 20 2016 Petr Pisar - 10.21-6 +- Fix repeated pcregrep output if -o with -M options were used and the match + extended over a line boundary (upstream bug #1848) + +* Fri Jun 03 2016 Petr Pisar - 10.21-5 +- Fix a race in JIT locking condition +- Fix an ovector check in JIT test program +- Enable JIT in the pcre2grep tool + +* Mon Mar 07 2016 Petr Pisar - 10.21-4 +- Ship README in devel as it covers API and build, not general info +- Move UTF-16 and UTF-32 libraries into pcre-ut16 and pcre-32 subpackages + +* Mon Feb 29 2016 Petr Pisar - 10.21-3 +- Fix a typo in pcre2_study() + +* Thu Feb 11 2016 Petr Pisar - 10.21-2 +- Report unmatched closing parantheses properly +- Fix pcre2test for expressions with a callout inside a look-behind assertion + (upstream bug #1783) +- Fix CVE-2016-3191 (workspace overflow for (*ACCEPT) with deeply nested + parentheses) (upstream bug #1791) + +* Thu Feb 04 2016 Fedora Release Engineering - 10.21-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 12 2016 Petr Pisar - 10.21-1 +- 10.21 bump + +* Wed Jan 06 2016 Petr Pisar - 10.21-0.2.RC1 +- Adapt a test to French locale on RHEL + +* Tue Jan 05 2016 Petr Pisar - 10.21-0.1.RC1 +- 10.21-RC1 bump + +* Mon Oct 26 2015 Petr Pisar - 10.20-3 +- Fix compiling patterns with PCRE2_NO_AUTO_CAPTURE (upstream bug #1704) + +* Mon Oct 12 2015 Petr Pisar - 10.20-2 +- Fix compiling classes with a negative escape and a property escape + (upstream bug #1697) +- Fix integer overflow for patterns whose minimum matching length is large + (upstream bug #1699) + +* Fri Jul 03 2015 Petr Pisar - 10.20-1 +- 10.20 bump + +* Fri Jun 19 2015 Petr Pisar - 10.20-0.1.RC1 +- 10.20-RC1 bump +- Replace dependency on glibc-headers with gcc (bug #1230479) +- Preserve soname + +* Thu Jun 18 2015 Fedora Release Engineering - 10.10-3.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri May 29 2015 Marcin Juszkiewicz - 10.10-3 +- fixed Release field + +* Fri May 29 2015 Marcin Juszkiewicz - 10.10-2.1 +- Backport fix for AArch64 + +* Tue May 05 2015 Petr Pisar - 10.10-2 +- Package pcre2demo.c as a documentation for pcre2-devel + +* Fri Mar 13 2015 Petr Pisar - 10.10-1 +- PCRE2 library packaged +