Re: [pcre-dev] NO_START_OPTIMIZE in JIT

Top Page
Delete this message
Author: Zoltán Herczeg
Date:  
To: ND
CC: Pcre-dev
Subject: Re: [pcre-dev] NO_START_OPTIMIZE in JIT
Hi,

Both are true.

If anything else is passed to pcre_exec(...) than the following flags, you trigger the interpreter:

#define PUBLIC_JIT_EXEC_OPTIONS \
   (PCRE_NO_UTF8_CHECK|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY|\
    PCRE_NOTEMPTY_ATSTART|PCRE_PARTIAL_SOFT|PCRE_PARTIAL_HARD)


However, if you pass PCRE_NO_START_OPTIMIZE to pcre_compile(...) it works, since it is known at compile time.

Regards,
Zoltan

ND <nadenj@???> írta:
>As was listed in Changelog to version 8.31:>
>

23. Support PCRE_NO_START_OPTIMIZE in JIT as (*MARK) support requires it.>
>

On the other hand PCRE documentation says in two places of pcreapi.html:>
>

The use of PCRE_NO_START_OPTIMIZE disables JIT execution; when it is set, matching is always done using interpretively.>
>

The optimizations can be disabled by setting the PCRE_NO_START_OPTIMIZE option when calling pcre_exec() or pcre_dfa_exec(), but if this is done, JIT execution is also disabled.>
>
>

It seems that 8.31 change no23 is not reflected in documentation. Or I don't understand something?>
>

Thanks.>
>

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