[wasm] Inline immovable roots into JS->Wasm wrappers [v8/v8 : main]

0 views
Skip to first unread message

Matthias Liedtke (Gerrit)

unread,
Dec 5, 2025, 10:20:06 AM12/5/25
to Daniel Lehmann, AyeAye, V8 LUCI CQ, dmercadi...@chromium.org, v8-re...@googlegroups.com, was...@google.com
Attention needed from Daniel Lehmann

Matthias Liedtke added 1 comment

Patchset-level comments
File-level comment, Patchset 6 (Latest):
Matthias Liedtke . resolved

PTAL

Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Lehmann
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: I49f63ec20c009a43879de6f056db8ff5e36f9b9e
Gerrit-Change-Number: 7229183
Gerrit-PatchSet: 6
Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Reviewer: Daniel Lehmann <dleh...@chromium.org>
Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Attention: Daniel Lehmann <dleh...@chromium.org>
Gerrit-Comment-Date: Fri, 05 Dec 2025 15:20:01 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Matthias Liedtke (Gerrit)

unread,
Dec 5, 2025, 10:22:13 AM12/5/25
to Paolo Severini, Daniel Lehmann, AyeAye, V8 LUCI CQ, dmercadi...@chromium.org, v8-re...@googlegroups.com, was...@google.com
Attention needed from Daniel Lehmann

Matthias Liedtke added 1 comment

Patchset-level comments
Matthias Liedtke . resolved

@paol...@microsoft.com: FYI, the idea is when we compile for a specific isolate (JS-to-wasm wrappers, both inlined and non-inlined), we can make better use of that by "constant-folding" some isolate-dependent data directly into the code (which is something that JS JIT code does everywhere).

Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Lehmann
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: I49f63ec20c009a43879de6f056db8ff5e36f9b9e
Gerrit-Change-Number: 7229183
Gerrit-PatchSet: 6
Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Reviewer: Daniel Lehmann <dleh...@chromium.org>
Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
Gerrit-CC: Paolo Severini <paol...@microsoft.com>
Gerrit-Attention: Daniel Lehmann <dleh...@chromium.org>
Gerrit-Comment-Date: Fri, 05 Dec 2025 15:22:09 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Daniel Lehmann (Gerrit)

unread,
Dec 8, 2025, 10:37:34 AM12/8/25
to Matthias Liedtke, Paolo Severini, AyeAye, V8 LUCI CQ, dmercadi...@chromium.org, v8-re...@googlegroups.com, was...@google.com
Attention needed from Matthias Liedtke

Daniel Lehmann added 1 comment

Patchset-level comments
Matthias Liedtke . resolved

@paol...@microsoft.com: FYI, the idea is when we compile for a specific isolate (JS-to-wasm wrappers, both inlined and non-inlined), we can make better use of that by "constant-folding" some isolate-dependent data directly into the code (which is something that JS JIT code does everywhere).

Daniel Lehmann

Recording offline discussion: I compared the inlined wrappers in Turbofan vs. the inlined wrappers in Turboshaft vs. https://crrev.com/c/7224611 vs. this CL, and couldn't find this CL to improve over the fastpath change in the linked/base. See https://docs.google.com/spreadsheets/d/1KdqGIWqaCw8M5b5uS2-cA7LYkz4At6YToEj0p3ljE7A/edit?usp=sharing for numbers.
I'll leave this to Matthias, since I didn't look at the generated code.

Open in Gerrit

Related details

Attention is currently required from:
  • Matthias Liedtke
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: I49f63ec20c009a43879de6f056db8ff5e36f9b9e
Gerrit-Change-Number: 7229183
Gerrit-PatchSet: 6
Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Reviewer: Daniel Lehmann <dleh...@chromium.org>
Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
Gerrit-CC: Paolo Severini <paol...@microsoft.com>
Gerrit-Attention: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Comment-Date: Mon, 08 Dec 2025 15:37:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Matthias Liedtke <mlie...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Matthias Liedtke (Gerrit)

unread,
Dec 8, 2025, 11:02:02 AM12/8/25
to Paolo Severini, Daniel Lehmann, AyeAye, V8 LUCI CQ, dmercadi...@chromium.org, v8-re...@googlegroups.com, was...@google.com
Attention needed from Daniel Lehmann

Matthias Liedtke added 1 comment

Patchset-level comments
Matthias Liedtke . resolved

@paol...@microsoft.com: FYI, the idea is when we compile for a specific isolate (JS-to-wasm wrappers, both inlined and non-inlined), we can make better use of that by "constant-folding" some isolate-dependent data directly into the code (which is something that JS JIT code does everywhere).

Daniel Lehmann

Recording offline discussion: I compared the inlined wrappers in Turbofan vs. the inlined wrappers in Turboshaft vs. https://crrev.com/c/7224611 vs. this CL, and couldn't find this CL to improve over the fastpath change in the linked/base. See https://docs.google.com/spreadsheets/d/1KdqGIWqaCw8M5b5uS2-cA7LYkz4At6YToEj0p3ljE7A/edit?usp=sharing for numbers.
I'll leave this to Matthias, since I didn't look at the generated code.

Matthias Liedtke

Pasting my reply here as well:
OK, my optimization works, we replace:
> cmpl [r13+0x360] (root (heap_number_map)),rdx

which loads the heap number map from the root register with
> cmpl rdx,0x515

So I guess it doesn't have any impact because we have those awesome 4 chained loads that we have also analyzed before that probably make this one independent load completely unobservable.

Still, this is a nice improvement and we should go for it. I didn't claim that it causes measurable speed-ups, but it eliminates unnecessary loads. 🎉
(And the comparison is also 1 byte less code size 😋)

Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Lehmann
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: I49f63ec20c009a43879de6f056db8ff5e36f9b9e
Gerrit-Change-Number: 7229183
Gerrit-PatchSet: 6
Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Reviewer: Daniel Lehmann <dleh...@chromium.org>
Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
Gerrit-CC: Paolo Severini <paol...@microsoft.com>
Gerrit-Attention: Daniel Lehmann <dleh...@chromium.org>
Gerrit-Comment-Date: Mon, 08 Dec 2025 16:01:56 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Daniel Lehmann <dleh...@chromium.org>
Comment-In-Reply-To: Matthias Liedtke <mlie...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Matthias Liedtke (Gerrit)

unread,
Dec 8, 2025, 11:04:59 AM12/8/25
to Paolo Severini, Daniel Lehmann, AyeAye, V8 LUCI CQ, dmercadi...@chromium.org, v8-re...@googlegroups.com, was...@google.com
Attention needed from Daniel Lehmann

Matthias Liedtke added 1 comment

Patchset-level comments
Matthias Liedtke . resolved

@paol...@microsoft.com: FYI, the idea is when we compile for a specific isolate (JS-to-wasm wrappers, both inlined and non-inlined), we can make better use of that by "constant-folding" some isolate-dependent data directly into the code (which is something that JS JIT code does everywhere).

Daniel Lehmann

Recording offline discussion: I compared the inlined wrappers in Turbofan vs. the inlined wrappers in Turboshaft vs. https://crrev.com/c/7224611 vs. this CL, and couldn't find this CL to improve over the fastpath change in the linked/base. See https://docs.google.com/spreadsheets/d/1KdqGIWqaCw8M5b5uS2-cA7LYkz4At6YToEj0p3ljE7A/edit?usp=sharing for numbers.
I'll leave this to Matthias, since I didn't look at the generated code.

Matthias Liedtke

Pasting my reply here as well:
OK, my optimization works, we replace:
> cmpl [r13+0x360] (root (heap_number_map)),rdx

which loads the heap number map from the root register with
> cmpl rdx,0x515

So I guess it doesn't have any impact because we have those awesome 4 chained loads that we have also analyzed before that probably make this one independent load completely unobservable.

Still, this is a nice improvement and we should go for it. I didn't claim that it causes measurable speed-ups, but it eliminates unnecessary loads. 🎉
(And the comparison is also 1 byte less code size 😋)

Matthias Liedtke

And just to clarify: This doesn't only affect the `HeapNumberMap` but all instances of immovable immortal roots like `null` or `undefined`.

Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Lehmann
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: I49f63ec20c009a43879de6f056db8ff5e36f9b9e
Gerrit-Change-Number: 7229183
Gerrit-PatchSet: 6
Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Reviewer: Daniel Lehmann <dleh...@chromium.org>
Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
Gerrit-CC: Paolo Severini <paol...@microsoft.com>
Gerrit-Attention: Daniel Lehmann <dleh...@chromium.org>
Gerrit-Comment-Date: Mon, 08 Dec 2025 16:04:55 +0000
satisfied_requirement
unsatisfied_requirement
open
diffy

Matthias Liedtke (Gerrit)

unread,
Dec 9, 2025, 8:28:50 AM12/9/25
to Manos Koukoutos, Daniel Lehmann, Paolo Severini, AyeAye, V8 LUCI CQ, dmercadi...@chromium.org, v8-re...@googlegroups.com, was...@google.com
Attention needed from Daniel Lehmann and Manos Koukoutos

Matthias Liedtke added 2 comments

Patchset-level comments
File-level comment, Patchset 7 (Latest):
Matthias Liedtke . resolved

@mano...@chromium.org: As Daniel is out, could you please take a look? I'll be out starting next week, so I'd like to land this change before that. 😊

File src/compiler/turboshaft/wasm-assembler-helpers.h
Line 35, Patchset 7 (Latest): if (isolate != nullptr) {
Handle<Object> root = isolate->root_handle(index);
const bool is_smi = i::IsSmi(*root);
if constexpr (std::is_convertible_v<Smi, RootObjectType>) {
if (is_smi) {
return assembler.SmiConstant(Cast<Smi>(*root));
}
}
CHECK(!is_smi);
return assembler.HeapConstantMaybeHole(i::Cast<RootObjectType>(root));
}
Matthias Liedtke . unresolved

This is the semantic change.

Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Lehmann
  • Manos Koukoutos
Submit Requirements:
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: v8/v8
    Gerrit-Branch: main
    Gerrit-Change-Id: I49f63ec20c009a43879de6f056db8ff5e36f9b9e
    Gerrit-Change-Number: 7229183
    Gerrit-PatchSet: 7
    Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
    Gerrit-Reviewer: Manos Koukoutos <mano...@chromium.org>
    Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
    Gerrit-CC: Daniel Lehmann <dleh...@chromium.org>
    Gerrit-CC: Paolo Severini <paol...@microsoft.com>
    Gerrit-Attention: Manos Koukoutos <mano...@chromium.org>
    Gerrit-Attention: Daniel Lehmann <dleh...@chromium.org>
    Gerrit-Comment-Date: Tue, 09 Dec 2025 13:28:45 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Manos Koukoutos (Gerrit)

    unread,
    Dec 9, 2025, 8:35:24 AM12/9/25
    to Matthias Liedtke, Daniel Lehmann, Paolo Severini, AyeAye, V8 LUCI CQ, dmercadi...@chromium.org, v8-re...@googlegroups.com, was...@google.com
    Attention needed from Daniel Lehmann and Matthias Liedtke

    Manos Koukoutos voted and added 1 comment

    Votes added by Manos Koukoutos

    Code-Review+1

    1 comment

    File src/compiler/turboshaft/wasm-assembler-helpers.h
    Line 35, Patchset 7 (Latest): if (isolate != nullptr) {
    Handle<Object> root = isolate->root_handle(index);
    const bool is_smi = i::IsSmi(*root);
    if constexpr (std::is_convertible_v<Smi, RootObjectType>) {
    if (is_smi) {
    return assembler.SmiConstant(Cast<Smi>(*root));
    }
    }
    CHECK(!is_smi);
    return assembler.HeapConstantMaybeHole(i::Cast<RootObjectType>(root));
    }
    Matthias Liedtke . resolved

    This is the semantic change.

    Manos Koukoutos

    Acknowledged

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Daniel Lehmann
    • Matthias Liedtke
    Submit Requirements:
    • requirement satisfiedCode-Owners
    • requirement satisfiedCode-Review
    • requirement satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: v8/v8
    Gerrit-Branch: main
    Gerrit-Change-Id: I49f63ec20c009a43879de6f056db8ff5e36f9b9e
    Gerrit-Change-Number: 7229183
    Gerrit-PatchSet: 7
    Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
    Gerrit-Reviewer: Manos Koukoutos <mano...@chromium.org>
    Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
    Gerrit-CC: Daniel Lehmann <dleh...@chromium.org>
    Gerrit-CC: Paolo Severini <paol...@microsoft.com>
    Gerrit-Attention: Daniel Lehmann <dleh...@chromium.org>
    Gerrit-Attention: Matthias Liedtke <mlie...@chromium.org>
    Gerrit-Comment-Date: Tue, 09 Dec 2025 13:35:20 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Matthias Liedtke <mlie...@chromium.org>
    satisfied_requirement
    open
    diffy

    Manos Koukoutos (Gerrit)

    unread,
    Dec 9, 2025, 8:36:07 AM12/9/25
    to Matthias Liedtke, Daniel Lehmann, Paolo Severini, AyeAye, V8 LUCI CQ, dmercadi...@chromium.org, v8-re...@googlegroups.com, was...@google.com
    Attention needed from Daniel Lehmann and Matthias Liedtke

    Manos Koukoutos added 1 comment

    File src/compiler/turboshaft/wasm-assembler-helpers.h
    Line 8, Patchset 7 (Latest):#include <type_traits>
    Manos Koukoutos . unresolved

    Shouldn't this be with the other includes?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Daniel Lehmann
    • Matthias Liedtke
    Submit Requirements:
      • requirement satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: v8/v8
      Gerrit-Branch: main
      Gerrit-Change-Id: I49f63ec20c009a43879de6f056db8ff5e36f9b9e
      Gerrit-Change-Number: 7229183
      Gerrit-PatchSet: 7
      Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
      Gerrit-Reviewer: Manos Koukoutos <mano...@chromium.org>
      Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
      Gerrit-CC: Daniel Lehmann <dleh...@chromium.org>
      Gerrit-CC: Paolo Severini <paol...@microsoft.com>
      Gerrit-Attention: Daniel Lehmann <dleh...@chromium.org>
      Gerrit-Attention: Matthias Liedtke <mlie...@chromium.org>
      Gerrit-Comment-Date: Tue, 09 Dec 2025 13:36:02 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Matthias Liedtke (Gerrit)

      unread,
      Dec 9, 2025, 9:28:35 AM12/9/25
      to Manos Koukoutos, Daniel Lehmann, Paolo Severini, AyeAye, V8 LUCI CQ, dmercadi...@chromium.org, v8-re...@googlegroups.com, was...@google.com
      Attention needed from Daniel Lehmann

      Matthias Liedtke voted and added 2 comments

      Votes added by Matthias Liedtke

      Commit-Queue+2

      2 comments

      Patchset-level comments
      File-level comment, Patchset 8 (Latest):
      Matthias Liedtke . resolved

      Thanks for the review!

      File src/compiler/turboshaft/wasm-assembler-helpers.h
      Line 8, Patchset 7:#include <type_traits>
      Manos Koukoutos . resolved

      Shouldn't this be with the other includes?

      Matthias Liedtke

      Oops, yes, I might have used the "quick-fix" button to add the include automatically... 😞

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Daniel Lehmann
      Submit Requirements:
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: v8/v8
        Gerrit-Branch: main
        Gerrit-Change-Id: I49f63ec20c009a43879de6f056db8ff5e36f9b9e
        Gerrit-Change-Number: 7229183
        Gerrit-PatchSet: 8
        Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
        Gerrit-Reviewer: Manos Koukoutos <mano...@chromium.org>
        Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
        Gerrit-CC: Daniel Lehmann <dleh...@chromium.org>
        Gerrit-CC: Paolo Severini <paol...@microsoft.com>
        Gerrit-Attention: Daniel Lehmann <dleh...@chromium.org>
        Gerrit-Comment-Date: Tue, 09 Dec 2025 14:28:30 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        Comment-In-Reply-To: Manos Koukoutos <mano...@chromium.org>
        satisfied_requirement
        open
        diffy

        V8 LUCI CQ (Gerrit)

        unread,
        Dec 9, 2025, 10:11:29 AM12/9/25
        to Matthias Liedtke, Manos Koukoutos, Daniel Lehmann, Paolo Severini, AyeAye, dmercadi...@chromium.org, v8-re...@googlegroups.com, was...@google.com

        V8 LUCI CQ submitted the change with unreviewed changes

        Unreviewed changes

        7 is the latest approved patch-set.
        The change was submitted with unreviewed changes in the following files:

        ```
        The name of the file: src/compiler/turboshaft/wasm-assembler-helpers.h
        Insertions: 2, Deletions: 1.

        @@ -5,11 +5,12 @@
        #ifndef V8_COMPILER_TURBOSHAFT_WASM_ASSEMBLER_HELPERS_H_
        #define V8_COMPILER_TURBOSHAFT_WASM_ASSEMBLER_HELPERS_H_

        -#include <type_traits>
        #if !V8_ENABLE_WEBASSEMBLY
        #error This header should only be included if WebAssembly is enabled.
        #endif // !V8_ENABLE_WEBASSEMBLY

        +#include <type_traits>
        +
        #include "src/compiler/turboshaft/operations.h"
        #include "src/roots/roots.h"

        ```

        Change information

        Commit message:
        [wasm] Inline immovable roots into JS->Wasm wrappers

        This will e.g. inline the HeapNumber map into the wrapper instead of
        loading it each time via the root register.

        This change also replaces the magic macro with a template function,
        e.g. instead of
        > LOAD_ROOT(null_string)
        where `null_string` is just some random text, it uses
        > __ LoadRootWasm<RootIndex::knull_string>()
        which uses a proper symbol `RootIndex::knull_string` to refer to the
        actual root allowing both code navigation as well as auto-completion.
        Bug: 353475584
        Change-Id: I49f63ec20c009a43879de6f056db8ff5e36f9b9e
        Commit-Queue: Matthias Liedtke <mlie...@chromium.org>
        Reviewed-by: Manos Koukoutos <mano...@chromium.org>
        Cr-Commit-Position: refs/heads/main@{#104207}
        Files:
        • M src/compiler/turboshaft/assembler.h
        • M src/compiler/turboshaft/wasm-assembler-helpers.h
        • M src/compiler/turboshaft/wasm-lowering-reducer.h
        • M src/wasm/turboshaft-graph-interface.cc
        • M src/wasm/wrappers-inl.h
        • M src/wasm/wrappers.h
        Change size: M
        Delta: 6 files changed, 85 insertions(+), 44 deletions(-)
        Branch: refs/heads/main
        Submit Requirements:
        • requirement satisfiedCode-Review: +1 by Manos Koukoutos
        Open in Gerrit
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: merged
        Gerrit-Project: v8/v8
        Gerrit-Branch: main
        Gerrit-Change-Id: I49f63ec20c009a43879de6f056db8ff5e36f9b9e
        Gerrit-Change-Number: 7229183
        Gerrit-PatchSet: 9
        Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
        Gerrit-Reviewer: Manos Koukoutos <mano...@chromium.org>
        Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
        open
        diffy
        satisfied_requirement
        Reply all
        Reply to author
        Forward
        0 new messages