Hi,

definitely worth investigating it. However, I cannot see it on my 64 bit Linux 
machine. I have some questions:

- these patterns simply match to "ab", because of the non-greedy quantifier. 
That requires a very small amount of memory. Is this intentional? What is your 
input for these patterns?

- I modified your pattens by putting an 'x' at their end, and matching to an 
"abb...bbbx" subject, where 1999 'b'-s are found.

With a non-greedy quantifier: 16008 bytes of stack is consumed
With a greedy quantifier: 31992 bytes of stack is consumed

That is nowhere from the 660K memory provided by you.

Regards,
Zoltan

Ralf Junker <[email protected]> írta:
>The SVN 1295 JIT engine on Win32 requires more stack than before to>
compile patterns with a large number repeated subpatterns.>
>
I did not track which code change exactly is responsible for the>
increase, but compared to SVN 1239 I had to almost double the maximum>
stack size from about 660000 to 1120000 in order to prevent an>
out-of-stack exception for these patterns:>
>
  (a)(?2){0,1999}?(b)>
  (a)(?(DEFINE)(b))(?2){0,1999}?(?2)>
>
I am not sure if this is a bug or simply a side-effect required by the>
new JIT features. However, it might be worth noting that the non-JIT>
compiler requires considerably less stack so improvement might be possible.>
>
Ralf>
>
-- >
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev >


-- 
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev 

Reply via email to