Re: [pcre-dev] JIT increase stack requirement for SVN 1295

Startseite
Nachricht löschen
Autor: Zoltán Herczeg
Datum:  
To: Ralf Junker
CC: pcre-dev@exim.org
Betreff: Re: [pcre-dev] JIT increase stack requirement for SVN 1295
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