Am 29.07.19 um 12:59 schrieb Carlo Marcelo Arenas Belón: > PCRE1 allowed for a compile time flag to disable JIT, but PCRE2 never > had one, forcing the use of JIT if -P was requested. > > After ed0479ce3d (Merge branch 'ab/no-kwset' into next, 2019-07-15) > the PCRE2 engine will be used more broadly and therefore adding this > knob will allow users a escape from situations where JIT might be > problematic. > > JIT will be used by default but it can be disabled with the --no-pcre-jit > option in `git grep` or by setting 0/false into the pcre.jit config. > > If a value of -1 is used instead then the following error is prevented by > using the interpreter when a JIT failure consistent with known security > restrictions is found at regex compilation time. > > $ git grep 'foo bar' > fatal: Couldn't JIT the PCRE2 pattern 'foo bar', got '-48' > > Signed-off-by: Carlo Marcelo Arenas Belón <carenas@xxxxxxxxx> > --- > V2: add command line to grep as suggested by Junio > > Documentation/git-grep.txt | 11 +++++++++++ > builtin/grep.c | 4 ++++ > grep.c | 30 ++++++++++++++++++++++++++---- > grep.h | 1 + > 4 files changed, 42 insertions(+), 4 deletions(-) > > diff --git a/Documentation/git-grep.txt b/Documentation/git-grep.txt > index c89fb569e3..895c6b34ec 100644 > --- a/Documentation/git-grep.txt > +++ b/Documentation/git-grep.txt > @@ -13,6 +13,7 @@ SYNOPSIS > [-v | --invert-match] [-h|-H] [--full-name] > [-E | --extended-regexp] [-G | --basic-regexp] > [-P | --perl-regexp] > + [-j | --[no]-pcre-jit] Do users care? Enough so to add a short option for this? > [-F | --fixed-strings] [-n | --line-number] [--column] > [-l | --files-with-matches] [-L | --files-without-match] > [(-O | --open-files-in-pager) [<pager>]] > @@ -69,6 +70,12 @@ grep.fallbackToNoIndex:: > If set to true, fall back to git grep --no-index if git grep > is executed outside of a git repository. Defaults to false. > > +pcre.jit:: > + If set to false, disable JIT when using PCRE. Defaults to > + true. > + if set to -1 will try first to use JIT and fallback to the > + interpreter instead of returning an error. Why not implement only -1, without adding this config setting? > + > > OPTIONS > ------- > @@ -175,6 +182,10 @@ providing this option will cause it to die. > Use fixed strings for patterns (don't interpret pattern > as a regex). > > +-j:: > +--[no-]pcre-jit:: > + Diable JIT in PCRE with --no-pcre-jit. "Disable". René