• Camillo Bruni's avatar
    Reland "[flags] Skip --random-seed in FlagList::Hash" · b704bc09
    Camillo Bruni authored
    This is a reland of 9fe53c4f
    
    - Fix data-race by using an atomic for flag_hash;
    - Make sure flag_hash != 0
    - Initialize flag_hash in V8::InitializeOncePerProcessImpl
    - Clear flag_hash in more cases
    
    Original change's description:
    > [flags] Skip --random-seed in FlagList::Hash
    >
    > Node and friends use --random-seed to temporary reset the seed for
    > predictable code-cache creation. To allow custom random seeds at runtime
    > the flag is reset for encoding the FlagList::Hash in the snapshots.
    >
    > We will soon disallow changing flags via the API after V8 has been
    > initialized. In order to make node work we will exclude --random-seed
    > from the FlagList::Hash calculation.
    >
    > Drive-by-fix:
    > * Lazily initialize flag_hash instead of calculating it after every call
    >   to SetFlagsFromString / EnforceFlagImplications.
    > * Simplify hash string source creation since out << flag now includes
    >   the full flag information
    >
    > Bug: v8:12309
    > Change-Id: I1a168f4702d8c4d160ff12fdbea881731e4ea8b6
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218159
    > Reviewed-by: Marja Hölttä <marja@chromium.org>
    > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#77345}
    
    Bug: v8:12309
    Change-Id: I12cd2931d81dc74e07a4da3564e4bf8dd151300a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3218981
    Commit-Queue: Marja Hölttä <marja@chromium.org>
    Auto-Submit: Camillo Bruni <cbruni@chromium.org>
    Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77373}
    b704bc09
flags.cc 26.5 KB