[PATCH v4 0/8] PCRE v2, PCRE v1 JIT, log -P & fixes
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Jun 1, 2017, 18:20 UTC
- Message-ID
- <20170601182056.31142-1-avarab@gmail.com>
See <20170525200528.22037-1-avarab@gmail.com> for v3 (https://public-inbox.org/git/20170525200528.22037-1-avarab@gmail.com/).
This is on top of "[PATCH v4 00/31] Easy to review grep & pre-PCRE changes".
Changes:
Ævar Arnfjörð Bjarmason (8): grep: don't redundantly compile throwaway patterns under threading grep: skip pthreads overhead when using one thread log: add -P as a synonym for --perl-regexp grep: add support for the PCRE v1 JIT API grep: un-break building with PCRE < 8.32 grep: un-break building with PCRE < 8.20
No changes.
grep: un-break building with PCRE >= 8.32 without --enable-jit
NEW: It turns out that a PCRE version that supports JIT, but is built without JIT support will fail at link time since there's no pcre_jit_exec symbol.
It also turns out (contrary to what I claimed on list before, my mistake) that there's no way to detect this through some macro. All the pcre include files are the same with/without --enable-jit, only the object file differs.
So there's now a NO_LIBPCRE1_JIT flag to the Makefile, which is off by default, but turned on on MinGW. I have not tested that config.mak.uname change, but everything else I could test on Linux.
The reason for why it's NO_LIBPCRE1_JIT not USE_LIBPCRE1_JIT is that in practice pretty much everyone who builds pcre builds it with JIT (I've looked through various Linux/BSD distro build files), it's MinGW that's the exception here. Given the performance gain it makes sense to make it the default.
grep: add support for PCRE v2
Almost no changes, just:
* A trivial change to stop redundantly assigning to pcre2_jit_on, mistakenly left over from an earlier version.
* Updated commit message / perf numbers for the extra patches in the series both here and in v3.
Documentation/rev-list-options.txt | 1 + Makefile | 49 ++++++++-- builtin/grep.c | 16 +++- config.mak.uname | 1 + configure.ac | 77 ++++++++++++--- grep.c | 185 ++++++++++++++++++++++++++++++++++++- grep.h | 33 +++++++ revision.c | 2 +- t/t4202-log.sh | 12 +++ t/test-lib.sh | 2 +- 10 files changed, 349 insertions(+), 29 deletions(-)
-- 2.13.0.303.g4ebf302169