mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-08-20 21:33:21 -07:00
Updated msys2
This commit is contained in:
parent
6a85995508
commit
f0dc1ea8b0
13308 changed files with 689276 additions and 46605 deletions
|
@ -8365,7 +8365,11 @@ AVAILABILITY OF JIT SUPPORT
|
|||
If your program may sometimes be linked with versions of PCRE that are
|
||||
older than 8.20, but you want to use JIT when it is available, you can
|
||||
test the values of PCRE_MAJOR and PCRE_MINOR, or the existence of a JIT
|
||||
macro such as PCRE_CONFIG_JIT, for compile-time control of your code.
|
||||
macro such as PCRE_CONFIG_JIT, for compile-time control of your code.
|
||||
Also beware that the pcre_jit_exec() function was not available at all
|
||||
before 8.32, and may not be available at all if PCRE isn't compiled
|
||||
with --enable-jit. See the "JIT FAST PATH API" section below for
|
||||
details.
|
||||
|
||||
|
||||
SIMPLE USE OF JIT
|
||||
|
@ -8407,6 +8411,18 @@ SIMPLE USE OF JIT
|
|||
PCRE_STUDY_JIT_PARTIAL_HARD_COMPILE
|
||||
PCRE_STUDY_JIT_PARTIAL_SOFT_COMPILE
|
||||
|
||||
If using pcre_jit_exec() and supporting a pre-8.32 version of PCRE, you
|
||||
can insert:
|
||||
|
||||
#if PCRE_MAJOR >= 8 && PCRE_MINOR >= 32
|
||||
pcre_jit_exec(...);
|
||||
#else
|
||||
pcre_exec(...)
|
||||
#endif
|
||||
|
||||
but as described in the "JIT FAST PATH API" section below this assumes
|
||||
version 8.32 and later are compiled with --enable-jit, which may break.
|
||||
|
||||
The JIT compiler generates different optimized code for each of the
|
||||
three modes (normal, soft partial, hard partial). When pcre_exec() is
|
||||
called, the appropriate code is run if it is available. Otherwise, the
|
||||
|
@ -8696,6 +8712,33 @@ JIT FAST PATH API
|
|||
Bypassing the sanity checks and the pcre_exec() wrapping can give
|
||||
speedups of more than 10%.
|
||||
|
||||
Note that the pcre_jit_exec() function is not available in versions of
|
||||
PCRE before 8.32 (released in November 2012). If you need to support
|
||||
versions that old you must either use the slower pcre_exec(), or switch
|
||||
between the two codepaths by checking the values of PCRE_MAJOR and
|
||||
PCRE_MINOR.
|
||||
|
||||
Due to an unfortunate implementation oversight, even in versions 8.32
|
||||
and later there will be no pcre_jit_exec() stub function defined when
|
||||
PCRE is compiled with --disable-jit, which is the default, and there's
|
||||
no way to detect whether PCRE was compiled with --enable-jit via a
|
||||
macro.
|
||||
|
||||
If you need to support versions older than 8.32, or versions that may
|
||||
not build with --enable-jit, you must either use the slower
|
||||
pcre_exec(), or switch between the two codepaths by checking the values
|
||||
of PCRE_MAJOR and PCRE_MINOR.
|
||||
|
||||
Switching between the two by checking the version assumes that all the
|
||||
versions being targeted are built with --enable-jit. To also support
|
||||
builds that may use --disable-jit either pcre_exec() must be used, or a
|
||||
compile-time check for JIT via pcre_config() (which assumes the runtime
|
||||
environment will be the same), or as the Git project decided to do,
|
||||
simply assume that pcre_jit_exec() is present in 8.32 or later unless a
|
||||
compile-time flag is provided, see the "grep: un-break building with
|
||||
PCRE >= 8.32 without --enable-jit" commit in git.git for an example of
|
||||
that.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
|
||||
|
@ -8711,8 +8754,8 @@ AUTHOR
|
|||
|
||||
REVISION
|
||||
|
||||
Last updated: 17 March 2013
|
||||
Copyright (c) 1997-2013 University of Cambridge.
|
||||
Last updated: 05 July 2017
|
||||
Copyright (c) 1997-2017 University of Cambridge.
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue