Hi Ralf,
the increased stack size is clearly the result of the new backtracking control verbs. Might be a bug in the compiler itself. I don't know how to reduce the stack size, but the good news is, that Philip and I are discussing a way to support {n} and later {1,n} repeats in JIT as real repeats which would decrease code size and improve instruction cache / branch prediction usage. The interpreter needs to current byte-code sequence repeat format (to avoid using counters), so that cannot be changed, but adding some hints to the byte code (without increasing its size) might do the trick. I cannot promise when this work will be finished (perhaps not even in the current release), but I am willing to do this.
Regards,
Zoltan
Ralf Junker <ralfjunker@???> írta:
>On 19.03.2013 17:57, Zoltán Herczeg wrote:>
>
> I am afraid it is not possible to tell where the jump is without>
> narrowing the revision range.>
>
The following table lists the stack sizes required by my system for>
various PCRE SVN versions.>
>
The stack is required for COMPILING (not matching) these patterns in JIT>
mode:>
>
(a)(?2){0,1999}?(b)>
(a)(?(DEFINE)(b))(?2){0,1999}?(?2)>
>
Please note that there were 3 large increases in the development line>
and one small decrease fairly recently.>
>
SVN - Stack>
==============>
1243 - 660000>
1244 - 730000>
1245 - 730000>
1246 - 730000>
1253 - 730000>
1267 - 730000>
1276 - 730000>
1277 - 860000 <- Large increase>
1278 - 920000 <- Large increase>
1279 - 1180000 <- Large increase>
1280 - 1180000>
1285 - 1180000>
1289 - 1180000>
1290 - 1120000 <- Small decrease>
1295 - 1120000>
1303 - 1120000>
>
> Can you precisely measure the stack size?>
>
Unfortunately no. The above numbers are as precisely as I can measure.>
They include the overall stack size of PCRE and test environment.>
However, the application is unchanged between PCRE versions so the>
increase / decrease is due to PCRE only.>
>
I hope this helps you to track down what could cause the increase in>
stack size - and possibly reduce it.>
>
Many thanks,>
>
Ralf>
>
-- >
## List details at
https://lists.exim.org/mailman/listinfo/pcre-dev