1*22dc650dSSadaf Ebrahimi#pattern framesize, memory 2*22dc650dSSadaf Ebrahimi 3*22dc650dSSadaf Ebrahimi/abcd/ 4*22dc650dSSadaf EbrahimiMemory allocation (code space): 52 5*22dc650dSSadaf EbrahimiFrame size for pcre2_match(): 128 6*22dc650dSSadaf Ebrahimi abcd\=memory 7*22dc650dSSadaf Ebrahimimalloc 20480 8*22dc650dSSadaf Ebrahimi 0: abcd 9*22dc650dSSadaf Ebrahimi abcd\=find_limits 10*22dc650dSSadaf EbrahimiMinimum heap limit = 1 11*22dc650dSSadaf EbrahimiMinimum match limit = 2 12*22dc650dSSadaf EbrahimiMinimum depth limit = 2 13*22dc650dSSadaf Ebrahimi 0: abcd 14*22dc650dSSadaf Ebrahimi 15*22dc650dSSadaf Ebrahimi/(((((((((((((((((((((((((((((( (^abc|xyz){1,20}$ ))))))))))))))))))))))))))))))/x 16*22dc650dSSadaf EbrahimiMemory allocation (code space): 2588 17*22dc650dSSadaf EbrahimiFrame size for pcre2_match(): 624 18*22dc650dSSadaf Ebrahimi abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcX\=memory 19*22dc650dSSadaf Ebrahimimalloc 40960 20*22dc650dSSadaf Ebrahimifree unremembered block 21*22dc650dSSadaf EbrahimiNo match 22*22dc650dSSadaf Ebrahimi abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcX\=find_limits 23*22dc650dSSadaf EbrahimiMinimum heap limit = 22 24*22dc650dSSadaf EbrahimiMinimum match limit = 37 25*22dc650dSSadaf EbrahimiMinimum depth limit = 35 26*22dc650dSSadaf EbrahimiNo match 27*22dc650dSSadaf Ebrahimi 28*22dc650dSSadaf Ebrahimi/ab(cd)/ 29*22dc650dSSadaf EbrahimiMemory allocation (code space): 72 30*22dc650dSSadaf EbrahimiFrame size for pcre2_match(): 144 31*22dc650dSSadaf Ebrahimi abcd\=memory 32*22dc650dSSadaf Ebrahimi 0: abcd 33*22dc650dSSadaf Ebrahimi 1: cd 34*22dc650dSSadaf Ebrahimi abcd\=memory,ovector=0 35*22dc650dSSadaf Ebrahimifree 40960 36*22dc650dSSadaf Ebrahimifree unremembered block 37*22dc650dSSadaf Ebrahimimalloc 128 38*22dc650dSSadaf Ebrahimimalloc 20480 39*22dc650dSSadaf Ebrahimi 0: abcd 40*22dc650dSSadaf Ebrahimi 1: cd 41*22dc650dSSadaf Ebrahimi 42*22dc650dSSadaf Ebrahimi/\[(a)]{1000}/expand,framesize 43*22dc650dSSadaf EbrahimiMemory allocation (code space): 28020 44*22dc650dSSadaf EbrahimiFrame size for pcre2_match(): 16128 45*22dc650dSSadaf Ebrahimi \[a]{1000}\=ovector=1 46*22dc650dSSadaf EbrahimiMatched, but too many substrings 47*22dc650dSSadaf Ebrahimi 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 48*22dc650dSSadaf Ebrahimi 49*22dc650dSSadaf Ebrahimi# The heapframes_size option gets pcre2test to show the size of the heapframes 50*22dc650dSSadaf Ebrahimi# vector that after pcre2_match() has run. Running a match with ovector=0 51*22dc650dSSadaf Ebrahimi# causes the match data block to be freed, thus releasing that vector. 52*22dc650dSSadaf Ebrahimi 53*22dc650dSSadaf Ebrahimi/\[(a)]{1000}/expand,framesize 54*22dc650dSSadaf EbrahimiMemory allocation (code space): 28020 55*22dc650dSSadaf EbrahimiFrame size for pcre2_match(): 16128 56*22dc650dSSadaf Ebrahimi \[a]{1000}\=ovector=1,heapframes_size 57*22dc650dSSadaf EbrahimiMatched, but too many substrings 58*22dc650dSSadaf Ebrahimi 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 59*22dc650dSSadaf EbrahimiHeapframes size in match_data: 20643840 60*22dc650dSSadaf Ebrahimi 61*22dc650dSSadaf Ebrahimi/a/heapframes_size,framesize 62*22dc650dSSadaf EbrahimiMemory allocation (code space): 28 63*22dc650dSSadaf EbrahimiFrame size for pcre2_match(): 128 64*22dc650dSSadaf Ebrahimi a\=ovector=0 65*22dc650dSSadaf Ebrahimi 0: a 66*22dc650dSSadaf EbrahimiHeapframes size in match_data: 20480 67*22dc650dSSadaf Ebrahimi 68*22dc650dSSadaf Ebrahimi/a|(b){200}/g,expand,heapframes_size 69*22dc650dSSadaf EbrahimiMemory allocation (code space): 5636 70*22dc650dSSadaf EbrahimiFrame size for pcre2_match(): 144 71*22dc650dSSadaf Ebrahimi abacus z\[b]{200}z 72*22dc650dSSadaf Ebrahimi 0: a 73*22dc650dSSadaf Ebrahimi 0: a 74*22dc650dSSadaf Ebrahimi 0: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 75*22dc650dSSadaf Ebrahimi 1: b 76*22dc650dSSadaf EbrahimiHeapframes size in match_data: 40960 77*22dc650dSSadaf Ebrahimi a\=ovector=0 78*22dc650dSSadaf Ebrahimi 0: a 79*22dc650dSSadaf EbrahimiHeapframes size in match_data: 20480 80*22dc650dSSadaf Ebrahimi 81*22dc650dSSadaf Ebrahimi/(a)/replace=>$1< 82*22dc650dSSadaf EbrahimiMemory allocation (code space): 48 83*22dc650dSSadaf EbrahimiFrame size for pcre2_match(): 144 84*22dc650dSSadaf Ebrahimi cat\=heapframes_size 85*22dc650dSSadaf Ebrahimi 1: c>a<t 86*22dc650dSSadaf EbrahimiHeapframes size in match_data: 20480 87*22dc650dSSadaf Ebrahimi 88*22dc650dSSadaf Ebrahimi# End 89