git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] grep: print the pcre2_jit_on value

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jul 25, 2019, 09:13 UTC
Message-ID
<nycvar.QRO.7.76.6.1907251111140.21907@tvgsbejvaqbjf.bet>
In-Reply-To
<c85bcde8-2bef-3345-ec43-9ab44e587e39@drbeat.li>
Hi Beat,
On Wed, 24 Jul 2019, Beat Bolli wrote:
Show 31 quoted lines
> On 23.07.19 21:19, Johannes Schindelin wrote:
> >
> > On Mon, 22 Jul 2019, Beat Bolli wrote:
> >
> >> When pcre2_jit_on is neither 1 nor 0, the BUG() call printed the value
> >> of pcre1_jit_on.
> >>
> >> Print the value of pcre2_jit_on instead.
> >>
> >> Signed-off-by: Beat Bolli <dev+git@drbeat.li>
> >> ---
> >>  grep.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/grep.c b/grep.c
> >> index f7c3a5803e..cd952ef5d3 100644
> >> --- a/grep.c
> >> +++ b/grep.c
> >> @@ -559,7 +559,7 @@ static void compile_pcre2_pattern(struct grep_pat *p, const struct grep_opt *opt
> >>  		pcre2_jit_stack_assign(p->pcre2_match_context, NULL, p->pcre2_jit_stack);
> >>  	} else if (p->pcre2_jit_on != 0) {
> >>  		BUG("The pcre2_jit_on variable should be 0 or 1, not %d",
> >> -		    p->pcre1_jit_on);
> >> +		    p->pcre2_jit_on);
> >
> > Seems obviously good.
> >
> > Maybe while you're in the vicinity, you can add that information to the
> > `--debug` output?
>
> Do you mean something like this?
Yes!
Show 28 quoted lines
> diff --git a/grep.c b/grep.c
> index cd952ef5d3..8a57ba998f 100644
> --- a/grep.c
> +++ b/grep.c
> @@ -406,6 +406,8 @@ static void compile_pcre1_regexp(struct grep_pat *p,
> const struct grep_opt *opt)
>
>  #ifdef GIT_PCRE1_USE_JIT
>         pcre_config(PCRE_CONFIG_JIT, &p->pcre1_jit_on);
> +       if (opt->debug)
> +               fprintf(stderr, "pcre1_jit_on=%d\n", p->pcre1_jit_on);
>         if (p->pcre1_jit_on == 1) {
>                 p->pcre1_jit_stack = pcre_jit_stack_alloc(1, 1024 * 1024);
>                 if (!p->pcre1_jit_stack)
> @@ -522,6 +524,8 @@ static void compile_pcre2_pattern(struct grep_pat
> *p, const struct grep_opt *opt
>         }
>
>         pcre2_config(PCRE2_CONFIG_JIT, &p->pcre2_jit_on);
> +       if (opt->debug)
> +               fprintf(stderr, "pcre2_jit_on=%d\n", p->pcre2_jit_on);
>         if (p->pcre2_jit_on == 1) {
>                 jitret = pcre2_jit_compile(p->pcre2_pattern,
> PCRE2_JIT_COMPLETE);
>                 if (jitret)
>
> If so, I'll wait a bit until it's clear whether Ævar's series [1] or my
> patch is going to be applied.
Sounds fair.

However, my reading of those patches is that they still keep support for JIT'ed and non-JIT'ed PCRE2 invocations (preferring the former if available, without any UI to change Git's behavior in that respect), so I would be surprised if this patch wasn't applicable after Ævar's patches.

Thanks, Dscho

Show 17 quoted lines
>
> If this is missing your intentions, I need more guidance ;-)
>
> [1] https://public-inbox.org/git/20190724151415.3698-1-avarab@gmail.com/
>
>
> >
> > Thanks,
> > Dscho
> >
> >>  	}
> >>  }
> >>
>
> Cheers,
> Beat
>
Previous: Beat BolliNext: Carlo Arenas
Message 5 of 6 in “grep: print the pcre2_jit_on value”
  1. grep: print the pcre2_jit_on valueBeat Bolli, Jul 22, 2019
  2. Junio C HamanoJul 23, 2019
  3. Johannes SchindelinJul 23, 2019
  4. Beat BolliJul 24, 2019
  5. Johannes SchindelinJul 25, 2019
  6. Carlo ArenasJul 29, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.