diff --git a/pcre2-10.43.tar.bz2 b/pcre2-10.43.tar.bz2 deleted file mode 100644 index dc99e91..0000000 --- a/pcre2-10.43.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e2a53984ff0b07dfdb5ae4486bbb9b21cca8e7df2434096cc9bf1b728c350bcb -size 1905255 diff --git a/pcre2-10.43.tar.bz2.sig b/pcre2-10.43.tar.bz2.sig deleted file mode 100644 index d8e2368..0000000 Binary files a/pcre2-10.43.tar.bz2.sig and /dev/null differ diff --git a/pcre2-10.44-github-issue-415.patch b/pcre2-10.44-github-issue-415.patch new file mode 100644 index 0000000..a5f9963 --- /dev/null +++ b/pcre2-10.44-github-issue-415.patch @@ -0,0 +1,5223 @@ +From fc70a2dcf913e7e2bc0465980d50e8d80e1e4cb7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Carlo=20Marcelo=20Arenas=20Bel=C3=B3n?= +Date: Sat, 8 Jun 2024 21:10:08 -0700 +Subject: [PATCH] pcre2test: memory reports only compiled memory usage for + code/data + +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}] diff --git a/pcre2-10.44.tar.bz2 b/pcre2-10.44.tar.bz2 new file mode 100644 index 0000000..181fe0b --- /dev/null +++ b/pcre2-10.44.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d34f02e113cf7193a1ebf2770d3ac527088d485d4e047ed10e5d217c6ef5de96 +size 1928086 diff --git a/pcre2-10.44.tar.bz2.sig b/pcre2-10.44.tar.bz2.sig new file mode 100644 index 0000000..66a23fd Binary files /dev/null and b/pcre2-10.44.tar.bz2.sig differ diff --git a/pcre2.changes b/pcre2.changes index 809baa2..45eb914 100644 --- a/pcre2.changes +++ b/pcre2.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Fri Aug 16 17:37:57 UTC 2024 - Martin Schreiner + +- Fix GitHub issue #415: Test suite fails when targeting i686. + The fix is taken straight from PR #418, also on GitHub. +- Add patch file: + * pcre2-10.44-github-issue-415.patch + +------------------------------------------------------------------- +Sun Jun 30 21:58:45 UTC 2024 - Dirk Müller + +- update to 10.44: + * This is mostly a bug-fix and tidying release. There is one + new function, to set a maximum size for a compiled pattern. + The maximum name length for groups is increased to 128. + * Some auxiliary files for building under VMS are added. + ------------------------------------------------------------------- Fri Feb 16 21:06:08 UTC 2024 - Andreas Stieger @@ -85,7 +102,7 @@ Sat Apr 16 10:50:31 UTC 2022 - Andreas Stieger \p{script_extensions:xxx} (synonyms sc and scx), Changed \p{scriptname} from being the same as \p{sc:scriptname} to being the same as \p{scx:scriptname}, recognize the standard - Unicode 4-letter abbreviations for script names, implement + Unicode 4-letter abbreviations for script names, implement Unicode and Perl's "loose matching" rules on property names ------------------------------------------------------------------- @@ -100,7 +117,7 @@ Fri Nov 5 19:01:43 UTC 2021 - Andreas Stieger Sun Oct 24 14:41:00 UTC 2021 - Andreas Stieger - pcre2 10.38: - * Following Perl's lead, \K is now locked out in lookaround + * Following Perl's lead, \K is now locked out in lookaround assertions by default, but an option is provided to re-enable the previous behaviour @@ -108,7 +125,7 @@ Sun Oct 24 14:41:00 UTC 2021 - Andreas Stieger Thu May 27 12:30:17 UTC 2021 - Andreas Stieger - pcre2 10.37: - * removal of the actual POSIX names regcomp etc. from the POSIX + * removal of the actual POSIX names regcomp etc. from the POSIX wrapper library because these have caused issues for some applications, replacing pcre2-symbol-clash.patch * fix a hypothetical NULL dereference @@ -254,7 +271,7 @@ Mon Jan 14 16:11:53 CET 2019 - kukuk@suse.de ------------------------------------------------------------------- Tue Dec 11 14:31:55 UTC 2018 - Cristian Rodríguez -- Build with --enable-jit-sealloc option, otherwise when +- Build with --enable-jit-sealloc option, otherwise when selinux is enabled or systemd memory protections are on, programs will fail to work with execmem violations. @@ -319,12 +336,12 @@ Mon Sep 11 18:14:30 UTC 2017 - jengelh@inai.de as there are patterns that can use up a lot of resources without necessarily recursing very deeply. * Various minor security fixes found by fuzzers: - + bsc#1037165: crash for forward reference in lookbehind with + + bsc#1037165: crash for forward reference in lookbehind with PCRE2_ANCHORED + CVE-2017-8786: heap-based buffer overflow write in pcre2test (bsc#1036942) + CVE-2017-7186: DoS by triggering an invalid Unicode property - lookup (bsc#1030066) + lookup (bsc#1030066) - Switch source URLs to use HTTP. ------------------------------------------------------------------- @@ -486,7 +503,7 @@ Thu Aug 28 03:10:39 UTC 2014 - crrodriguez@opensuse.org ------------------------------------------------------------------- Mon Jun 16 14:44:43 UTC 2014 - dvaleev@suse.com -- Enable JIT on ppc64le as well +- Enable JIT on ppc64le as well ------------------------------------------------------------------- Sat May 3 06:07:56 UTC 2014 - coolo@suse.com @@ -547,7 +564,7 @@ Thu Jun 13 16:20:10 UTC 2013 - jengelh@inai.de ------------------------------------------------------------------- Sat Jun 8 20:16:10 UTC 2013 - crrodriguez@opensuse.org -- Ensure the PCRE library and tools are built with large file +- Ensure the PCRE library and tools are built with large file support in 32 bit archs. ------------------------------------------------------------------- @@ -626,19 +643,19 @@ Thu May 10 15:59:21 UTC 2012 - afaerber@suse.de ------------------------------------------------------------------- Tue Feb 7 15:10:59 UTC 2012 - crrodriguez@opensuse.org -- fix baselibs +- fix baselibs ------------------------------------------------------------------- Tue Feb 7 04:40:59 UTC 2012 - crrodriguez@opensuse.org -- Update to PCRE 8.30, upstream SONAME bump, libpcre1 +- Update to PCRE 8.30, upstream SONAME bump, libpcre1 - Drop no longer needed ppc patch. - move library back to %{_libdir} ------------------------------------------------------------------- Wed Feb 1 10:44:38 UTC 2012 - dvaleev@suse.com -- Fix cache-flush on PPC +- Fix cache-flush on PPC ------------------------------------------------------------------- Wed Nov 16 08:17:40 UTC 2011 - coolo@suse.com @@ -648,9 +665,9 @@ Wed Nov 16 08:17:40 UTC 2011 - coolo@suse.com ------------------------------------------------------------------- Tue Nov 1 16:16:49 UTC 2011 - crrodriguez@opensuse.org -- Update to version 8.20 +- Update to version 8.20 * too many fixes to list here, see included ChangeLog - * replace pcre-visibility patch with the one I submitted to + * replace pcre-visibility patch with the one I submitted to upstream for inclusion. ------------------------------------------------------------------- @@ -658,12 +675,12 @@ Tue Oct 11 22:39:57 UTC 2011 - dmueller@suse.de - udpate to 8.13: * too many fixes to list here, see included ChangeLog - * the Unicode data tables have been updated to Unicode 6.0.0. + * the Unicode data tables have been updated to Unicode 6.0.0. ------------------------------------------------------------------- Mon Sep 19 15:15:41 UTC 2011 - coolo@suse.com -- remove fragile _service +- remove fragile _service ------------------------------------------------------------------- Wed Mar 9 14:20:37 UTC 2011 - coolo@novell.com @@ -694,7 +711,7 @@ Wed Mar 9 14:20:37 UTC 2011 - coolo@novell.com ------------------------------------------------------------------- Sat Oct 30 02:15:06 UTC 2010 - cristian.rodriguez@opensuse.org -- Support GCC visibility, symbol clashes no more. +- Support GCC visibility, symbol clashes no more. ------------------------------------------------------------------- Sun Sep 19 11:03:57 CEST 2010 - vuntz@opensuse.org @@ -783,7 +800,7 @@ Wed Jun 10 13:03:11 CEST 2009 - coolo@novell.com ------------------------------------------------------------------- Fri Jun 5 23:13:22 CEST 2009 - crrodriguez@suse.de -- disable static libraries, shouldn't be used now +- disable static libraries, shouldn't be used now ------------------------------------------------------------------- Sat May 30 22:02:07 CEST 2009 - dmueller@suse.de @@ -800,7 +817,7 @@ Tue May 5 14:24:17 CEST 2009 - ms@suse.de - Release 7.9 11-Apr-09 (bnc #500734) Mostly bugfixes and tidies with just a couple of minor - functional additions. + functional additions. ------------------------------------------------------------------- Wed Jan 7 12:34:56 CET 2009 - olh@suse.de @@ -811,7 +828,7 @@ Wed Jan 7 12:34:56 CET 2009 - olh@suse.de Fri Sep 12 01:51:31 CEST 2008 - crrodriguez@suse.de - update to PCRE 7.8 - * More bug fixes, plus a performance improvement + * More bug fixes, plus a performance improvement in Unicode character property lookup. see complete changelog at http://www.pcre.org/changelog.txt @@ -826,9 +843,9 @@ Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de Fri Feb 1 19:43:16 CET 2008 - crrodriguez@suse.de - update to version 7.6 -- The main reason for having this release so soon after 7.5 - is because it fixes a potential buffer overflow problem in pcre_compile() - when run in UTF-8 mode. In addition, the CMake configuration files have been brought up to date. +- The main reason for having this release so soon after 7.5 + is because it fixes a potential buffer overflow problem in pcre_compile() + when run in UTF-8 mode. In addition, the CMake configuration files have been brought up to date. ------------------------------------------------------------------- Sun Jan 13 09:08:22 CET 2008 - crrodriguez@suse.de @@ -965,14 +982,14 @@ Sun Jan 13 09:08:22 CET 2008 - crrodriguez@suse.de Perl does, and where it didn't before. 24. Rewrite so as to remove the single use of %n from pcregrep because in some - Windows environments %n is disabled by default. + Windows environments %n is disabled by default. ------------------------------------------------------------------- Tue Nov 6 08:15:28 CET 2007 - crrodriguez@suse.de - update to version 7.4, since version 7.2, more than 40 bugs were fixed including multiple vulnerabilities [#325921] . The list of changes is too long - to mention here, see changelog.txt for details. + to mention here, see changelog.txt for details. ------------------------------------------------------------------- Wed Aug 8 12:46:16 CEST 2007 - ms@suse.de @@ -1317,7 +1334,7 @@ Thu Mar 31 17:39:53 CEST 2005 - uli@suse.de ------------------------------------------------------------------- Mon Nov 22 17:12:31 CET 2004 - choeger@suse.de -- update to latest version v5.0 +- update to latest version v5.0 ------------------------------------------------------------------- Mon Jun 7 11:40:27 CEST 2004 - choeger@suse.de @@ -1359,7 +1376,7 @@ Fri Dec 6 04:42:15 CET 2002 - coolo@suse.de ------------------------------------------------------------------- Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de -- removed bogus self-provides +- removed bogus self-provides ------------------------------------------------------------------- Fri Apr 5 10:57:15 CEST 2002 - coolo@suse.de @@ -1376,7 +1393,7 @@ Tue Jan 22 19:07:26 CET 2002 - choeger@suse.de ------------------------------------------------------------------- Tue Aug 21 01:11:46 MEST 2001 - mge@suse.de -- pcre 3.5 +- pcre 3.5 ------------------------------------------------------------------- Wed Apr 11 22:26:54 CEST 2001 - froh@suse.de @@ -1396,7 +1413,7 @@ Tue Jun 27 19:41:41 MEST 2000 - mge@suse.de ------------------------------------------------------------------- Thu Mar 2 12:22:48 CET 2000 - mge@suse.de -- fixed manpath +- fixed manpath ------------------------------------------------------------------- Sun Feb 13 16:54:53 MET 2000 - mge@suse.de diff --git a/pcre2.spec b/pcre2.spec index 67d552f..0937fba 100644 --- a/pcre2.spec +++ b/pcre2.spec @@ -1,7 +1,7 @@ # # spec file for package pcre2 # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2024 SUSE LLC # Copyright (c) 2024 Andreas Stieger # # All modifications and additions to the file contributed by third parties @@ -19,7 +19,7 @@ %global _lto_cflags %{_lto_cflags} -ffat-lto-objects Name: pcre2 -Version: 10.43 +Version: 10.44 Release: 0 Summary: A library for Perl-compatible regular expressions License: BSD-3-Clause @@ -29,8 +29,10 @@ Source0: https://github.com/PhilipHazel/pcre2/releases/download/%{name}-% Source2: https://github.com/PhilipHazel/pcre2/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2.sig Source3: %{name}.keyring Source4: baselibs.conf -#PATCH-FIX-OPENSUSE tchvatal@suse.cz upstream thinks it is good idea to use rpath, taken from RH +# PATCH-FIX-OPENSUSE tchvatal@suse.cz upstream thinks it is good idea to use rpath, taken from RH Patch1: pcre2-10.10-multilib.patch +# PATCH-FIX-UPSTREAM: patch fixes issue #415 on GitHub: Test suite fails when targeting i686, fix taken from PR #418 +Patch2: pcre2-10.44-github-issue-415.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++