-
Clemens Backes authored
Instead of defining one global (FLAG_foo) per flag, define all flag values as fields in a global {v8_flags} struct. This guarantees that the memory is contiguous, and together with proper alignment allows us to later memory-protect that memory space. In order to avoid rewriting all existing code that uses the {FLAG_foo} syntax, we define global aliases: {FLAG_foo} is a reference to {v8_flags.foo}. After the next branch cut (v10.6), follow-up CLs will rewrite all existing code to use the {v8_flags.foo} syntax, and after another branch cut (v10.7) the aliases will be removed. This should allow us to merge back most fixes to the previous branch (N-1). Merges to stable (N-2) might still require resolving merge conflicts manually, if they modify code that reads flags. R=cbruni@chromium.org CC=sroettger@chromium.org Bug: v8:12887 Change-Id: I8bc44429767f611484fe345d7268af1d55c98124 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810187 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#82423}
e99b43f8