[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#24259: [PATCH 0/6] dfa: thread safety
From: |
Jim Meyering |
Subject: |
bug#24259: [PATCH 0/6] dfa: thread safety |
Date: |
Sat, 20 Aug 2016 17:52:09 -0700 |
On Thu, Aug 18, 2016 at 3:50 AM, Zev Weiss <address@hidden> wrote:
> Hello,
>
> Re: Jim Meyering's proposal to move grep's dfa.c into gnulib, I was
> hoping I might be able to sneak in the dfa-related parts of my
> multithreading patch set before it happens.
>
> These are all the patches from that set that touch src/dfa.[ch], and
> are all oriented toward making dfa.c thread-safe (which seems like it
> might be a desirable thing for librarification anyway). Starting with
> the fourth patch there are some slight changes to the external API, so
> other projects using dfa.c may need some minor corresponding
> adjustments as a result (but nothing, I think, too onerous). The
> first three should have no impact on any users, however.
>
> (The bulk of the changes in these patches are fairly mechanical; for
> some of them something like `git show --color-words' on a local branch
> might make the review process slightly less tedious.)
>
> Combined diffstat for these six follows.
>
> Thanks,
> Zev Weiss
>
> src/dfa.c | 854 ++++++++++++++++++++++--------------------
> src/dfa.h | 13 +-
> src/dfasearch.c | 7 +-
> src/grep.c | 2 +
> src/kwsearch.c | 2 +-
> src/pcresearch.c | 2 +-
> tests/dfa-match-aux.c | 4 +-
Thank you for separating those so nicely.
I have pushed your patches 2..6, now, so will close this.
The only changes I made were to the formatting and member ordering of
struct lexer_state. At first glance, I thought reordering would save
some space, but ended up with a size of 56 bytes on x86_64 regardless.
However, I did move both "int cur_mb_len" and "bool laststart" to the
end, and note that changing the type of cur_mb_len to short int
(perhaps in a later patch) will reduce the size of that struct to 48.
- bug#24260: [PATCH 1/6] dfa: thread-safety: remove 'dfa' global in dfa.c, (continued)
- bug#24260: [PATCH 1/6] dfa: thread-safety: remove 'dfa' global in dfa.c, Norihiro Tanaka, 2016/08/19
- bug#24260: [PATCH 1/6] dfa: thread-safety: remove 'dfa' global in dfa.c, Norihiro Tanaka, 2016/08/19
- bug#24260: [PATCH 1/6] dfa: thread-safety: remove 'dfa' global in dfa.c, Zev Weiss, 2016/08/19
- bug#24260: [PATCH 1/6] dfa: thread-safety: remove 'dfa' global in dfa.c, Norihiro Tanaka, 2016/08/20
- bug#24260: [PATCH 1/6] dfa: thread-safety: remove 'dfa' global in dfa.c, Zev Weiss, 2016/08/20
bug#24259: [PATCH 3/6] dfa: thread-safety: move parser state into struct dfa, Zev Weiss, 2016/08/18
bug#24259: [PATCH 5/6] dfa: thread-safety: eliminate static local variables, Zev Weiss, 2016/08/18
bug#24259: [PATCH 2/6] dfa: thread-safety: move lexer state into struct dfa, Zev Weiss, 2016/08/18
bug#24259: [PATCH 4/6] dfa: thread-safety: move regex syntax configuration into struct dfa, Zev Weiss, 2016/08/18
bug#24259: [PATCH 6/6] dfa: thread-safety: initialize mbrtowc_cache in dfa_init(), Zev Weiss, 2016/08/18
bug#24259: [PATCH 0/6] dfa: thread safety,
Jim Meyering <=
bug#24259: [PATCH 0/6] dfa: thread safety, Paul Eggert, 2016/08/23