[objects] Remove HeapObjectLayout and clean up Tagged pointer API [v8/v8 : main]

1 view
Skip to first unread message

SLSA Policy Verification Service (Gerrit)

unread,
4:47 AM (11 hours ago) 4:47 AM
to Leszek Swirski, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com

SLSA Policy Verification Service voted SLSA-Policy-Verified+1

SLSA-Policy-Verified+1
Open in Gerrit

Related details

Attention set is empty
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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
Gerrit-Change-Number: 7806341
Gerrit-PatchSet: 2
Gerrit-Owner: Leszek Swirski <les...@chromium.org>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Comment-Date: Mon, 04 May 2026 08:47:21 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

SLSA Policy Verification Service (Gerrit)

unread,
4:55 AM (11 hours ago) 4:55 AM
to Leszek Swirski, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com

SLSA Policy Verification Service voted SLSA-Policy-Verified+1

SLSA-Policy-Verified+1
Open in Gerrit

Related details

Attention set is empty
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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
Gerrit-Change-Number: 7806341
Gerrit-PatchSet: 3
Gerrit-Owner: Leszek Swirski <les...@chromium.org>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Comment-Date: Mon, 04 May 2026 08:55:24 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Leszek Swirski (Gerrit)

unread,
4:55 AM (11 hours ago) 4:55 AM
to Jakob Linke, Jakob Kummerow, SLSA Policy Verification Service, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Jakob Linke

Leszek Swirski voted and added 1 comment

Votes added by Leszek Swirski

Commit-Queue+1

1 comment

Patchset-level comments
File-level comment, Patchset 3 (Latest):
Leszek Swirski . resolved

Jakob, PTAL.
Other Jakob, FYI

Open in Gerrit

Related details

Attention is currently required from:
  • Jakob Linke
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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
Gerrit-Change-Number: 7806341
Gerrit-PatchSet: 3
Gerrit-Owner: Leszek Swirski <les...@chromium.org>
Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
Gerrit-Reviewer: Leszek Swirski <les...@chromium.org>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-CC: Jakob Kummerow <jkum...@chromium.org>
Gerrit-Attention: Jakob Linke <jgr...@chromium.org>
Gerrit-Comment-Date: Mon, 04 May 2026 08:55:44 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Jakob Kummerow (Gerrit)

unread,
6:37 AM (9 hours ago) 6:37 AM
to Leszek Swirski, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Jakob Linke, Jakob Kummerow, SLSA Policy Verification Service, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Jakob Linke and Leszek Swirski

Jakob Kummerow added 17 comments

Patchset-level comments
File-level comment, Patchset 5 (Latest):
Jakob Kummerow . resolved

Awesome! Some comments/questions.

File src/api/api.cc
Line 5261, Patchset 4: if (!IsJSObject(self)) return false;
Jakob Kummerow . unresolved

Why is this line so pretty but line 5271 is not?

(Same for 5272, 5295, 5296.)

File src/codegen/tnode.h
Line 221, Patchset 4: std::enable_if_t<std::is_base_of_v<HeapObject, HeapObjectSubtype>>> {
Jakob Kummerow . resolved

This could be a `requires` clause. Also fine to clean that up separately.

File src/compiler/access-info.cc
Line 1154, Patchset 4: DCHECK(IsJSProxy(Tagged<Object>(*prototype.object())) ||
Jakob Kummerow . unresolved

Why is this needed here but not in line 1151?

File src/compiler/raw-machine-assembler.h
Line 165, Patchset 4: return m.Is(static_cast<int>(offsetof(HeapObject, map_)) - kHeapObjectTag);
Jakob Kummerow . unresolved

Why? `Int64Matcher::Is()` takes an `int64_t`.

Higher-level: Looks like the size of this CL could be reduced significantly with a global `int HeapObject::kMapOffset = 0` definition. In this particular case, I wouldn't even insist on using `offsetof` to compute it, because it's so exceedingly unlikely that we'd ever reshuffle the `map_` member of heap objects 😊

File src/objects/call-site-info.cc
Line 496, Patchset 4: if (IsWasmObject(Tagged<Object>(current))) continue;
Jakob Kummerow . unresolved

Why is this needed here when line 498 doesn't need it?

File src/objects/feedback-vector.h
Line 305, Patchset 4: static constexpr uint32_t kLengthOffset = sizeof(HeapObject);
static constexpr uint32_t kHeaderSize =
kLengthOffset + (TAGGED_SIZE_8_BYTES ? kTaggedSize : kApiInt32Size);
static_assert(sizeof(Super::Header) == kHeaderSize);
Jakob Kummerow . resolved

These definitions are deprecated, right? (To be replaced by `offsetof`/`sizeof`.)

File src/objects/heap-object.h
Line 440, Patchset 4: public:
Jakob Kummerow . unresolved

Isn't everything before this point `public` as well?

Line 437, Patchset 4: HeapObject* operator->() { return this; }
const HeapObject* operator->() const { return this; }
Jakob Kummerow . unresolved

I think we no longer need to override these, do we? Regular C++ should do the trick?

Line 19, Patchset 4:#include "v8-internal.h"
Jakob Kummerow . unresolved

This shouldn't come after the include that has to be the last include.

File src/objects/js-objects.cc
Line 588, Patchset 4: if (IsWasmObject(Tagged(this))) return roots.Object_string();
Jakob Kummerow . unresolved

Why here and not above (lines 572 - 586)?

File src/objects/js-regexp-inl.h
Line 31, Patchset 4: CONDITIONAL_WRITE_BARRIER(Tagged<HeapObject>(this), kLastIndexOffset, value,
Jakob Kummerow . unresolved

Other places just pass `this` to `CONDITIONAL_WRITE_BARRIER`, I guess we could do that here too?

File src/objects/keys.cc
Line 705, Patchset 4: if (IsWasmObject(Tagged<Object>(receiver))) return false;
Jakob Kummerow . unresolved

Why? `receiver` already is a `Tagged<>`.

Line 719, Patchset 4: if (IsWasmObject(Tagged<Object>(*receiver))) return false;
Jakob Kummerow . unresolved

Doesn't `Handle::operator*` return a `Tagged<>`? Why the explicit constructor call?

File src/objects/object-macros.h
Line 283, Patchset 4:#define ACCESSORS_NOCAGE(holder, name, type, offset) \
Jakob Kummerow . unresolved

Rebasing note: crrev.com/c/7806587 has just dropped this macro.

File src/objects/ordered-hash-table.h
Line 423, Patchset 4 (Parent):V8_OBJECT class SmallOrderedHashTable : public HeapObjectLayout {
Jakob Kummerow . unresolved

Why drop this here, while most other class definitions are keeping it?

File src/objects/swiss-name-dictionary.h
Line 71, Patchset 4 (Parent):V8_OBJECT class V8_EXPORT_PRIVATE SwissNameDictionary
Jakob Kummerow . unresolved

Why drop this here, while most other class definitions are keeping it?

Open in Gerrit

Related details

Attention is currently required from:
  • Jakob Linke
  • Leszek Swirski
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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
    Gerrit-Change-Number: 7806341
    Gerrit-PatchSet: 5
    Gerrit-Owner: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
    Gerrit-Reviewer: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-CC: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Attention: Jakob Linke <jgr...@chromium.org>
    Gerrit-Attention: Leszek Swirski <les...@chromium.org>
    Gerrit-Comment-Date: Mon, 04 May 2026 10:37:35 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    SLSA Policy Verification Service (Gerrit)

    unread,
    7:51 AM (8 hours ago) 7:51 AM
    to Leszek Swirski, Jakob Linke, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Jakob Kummerow, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Leszek Swirski

    SLSA Policy Verification Service voted SLSA-Policy-Verified+1

    SLSA-Policy-Verified+1
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Leszek Swirski
    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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
    Gerrit-Change-Number: 7806341
    Gerrit-PatchSet: 5
    Gerrit-Owner: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
    Gerrit-Reviewer: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-CC: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Attention: Leszek Swirski <les...@chromium.org>
    Gerrit-Comment-Date: Mon, 04 May 2026 11:51:04 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Jakob Linke (Gerrit)

    unread,
    7:51 AM (8 hours ago) 7:51 AM
    to Leszek Swirski, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Jakob Kummerow, SLSA Policy Verification Service, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Leszek Swirski

    Jakob Linke voted and added 13 comments

    Votes added by Jakob Linke

    Code-Review+1

    13 comments

    Patchset-level comments
    Jakob Linke . resolved

    Just minor comments, lgtm otherwise

    File src/compiler/raw-machine-assembler.h
    Line 165, Patchset 4: return m.Is(static_cast<int>(offsetof(HeapObject, map_)) - kHeapObjectTag);
    Jakob Kummerow . unresolved

    Why? `Int64Matcher::Is()` takes an `int64_t`.

    Higher-level: Looks like the size of this CL could be reduced significantly with a global `int HeapObject::kMapOffset = 0` definition. In this particular case, I wouldn't even insist on using `offsetof` to compute it, because it's so exceedingly unlikely that we'd ever reshuffle the `map_` member of heap objects 😊

    Jakob Linke

    Plus there's the automated kFooOffset -> offsetof rewrite that I'm waiting to land. Your call, but I agree this CL would be nicer without offsetof AND sizeof (kHeaderSize) churn.

    File src/ic/ic.cc
    Line 1396, Patchset 5 (Latest): if ((IsJSObject(Tagged<Object>(*receiver)) &&
    Jakob Linke . unresolved

    Do you need `Tagged<..>()` here?

    File src/objects/heap-object.h
    Line 471, Patchset 5 (Latest): friend class HeapObject;
    Jakob Linke . unresolved

    Self-friend

    Line 452, Patchset 5 (Latest): return reinterpret_cast<Address>(this) + offset;
    Jakob Linke . unresolved

    suggestion: `address() +`

    File src/objects/object-predicates-inl.h
    Line 276, Patchset 5 (Latest): inline bool Is##Name(HeapObject obj, PtrComprCageBase cage_base) { \
    Jakob Linke . unresolved

    Here, too

    Line 272, Patchset 5 (Latest): inline bool Is##Name(HeapObject obj) { \
    Jakob Linke . unresolved

    Stale by-value overload

    File src/objects/objects-body-descriptors.h
    Line 200, Patchset 5 (Latest):class StructBodyDescriptor : public FlexibleBodyDescriptor<sizeof(HeapObject)> {
    Jakob Linke . unresolved

    No action needed here since many others do this too.. But it's a brittle pattern. It'd be much nicer to have a Super convention, similar.

    File src/objects/tagged.h
    Line 836, Patchset 5 (Latest):// TODO(leszeks): Remove once we're using Tagged everywhere.
    Jakob Linke . unresolved

    Could we do this now? Passing T by value is now invalid, post-port

    Line 778, Patchset 5 (Latest): static_assert(std::is_base_of_v<HeapObject, U>);
    Jakob Linke . unresolved

    Is this U still needed? Could you inline `std::is_base_of_v<HeapObject, T>` instead?

    Line 744, Patchset 5 (Latest): template <typename U = T>
    Jakob Linke . unresolved

    U is now unused

    Line 712, Patchset 5 (Latest): // Implicit conversions and explicit casts to/from raw pointers.
    Jakob Linke . unresolved

    Stale comment block

    Line 709, Patchset 5 (Latest): V8_INLINE constexpr T& operator*() const { return *ToRawPtr(); }
    Jakob Linke . unresolved

    Are these actually `constexpr`?

    Gerrit-Comment-Date: Mon, 04 May 2026 11:51:02 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Jakob Kummerow <jkum...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Jakob Linke (Gerrit)

    unread,
    7:59 AM (8 hours ago) 7:59 AM
    to Leszek Swirski, SLSA Policy Verification Service, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Jakob Kummerow, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Leszek Swirski

    Jakob Linke added 1 comment

    File src/objects/casting.h
    Line 363, Patchset 5 (Latest):template <typename To, typename From>
    Jakob Linke . unresolved

    These overloads are dead too

    Gerrit-Comment-Date: Mon, 04 May 2026 11:59:43 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Leszek Swirski (Gerrit)

    unread,
    9:12 AM (7 hours ago) 9:12 AM
    to SLSA Policy Verification Service, Jakob Linke, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Jakob Kummerow, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Jakob Kummerow and Jakob Linke

    Leszek Swirski added 27 comments

    Patchset-level comments
    Leszek Swirski . resolved

    PTAL again, I ran a grep over the diff and cleaned up any unintentional `Tagged(foo)` or `Tagged<Foo>(foo)` construction.

    File src/api/api.cc
    Line 5261, Patchset 4: if (!IsJSObject(self)) return false;
    Jakob Kummerow . resolved

    Why is this line so pretty but line 5271 is not?

    (Same for 5272, 5295, 5296.)

    Leszek Swirski

    ugh, leftovers from incrementally trying to get things to pass while also changing IsFoo overloads and Tagged<T> constructors. I've cleaned this up.

    File src/compiler/access-info.cc
    Line 1154, Patchset 4: DCHECK(IsJSProxy(Tagged<Object>(*prototype.object())) ||
    Jakob Kummerow . resolved

    Why is this needed here but not in line 1151?

    Leszek Swirski

    Done

    File src/compiler/raw-machine-assembler.h
    Line 165, Patchset 4: return m.Is(static_cast<int>(offsetof(HeapObject, map_)) - kHeapObjectTag);
    Jakob Kummerow . unresolved

    Why? `Int64Matcher::Is()` takes an `int64_t`.

    Higher-level: Looks like the size of this CL could be reduced significantly with a global `int HeapObject::kMapOffset = 0` definition. In this particular case, I wouldn't even insist on using `offsetof` to compute it, because it's so exceedingly unlikely that we'd ever reshuffle the `map_` member of heap objects 😊

    Leszek Swirski

    it could also be a cast to `int64_t`, the key here was that `offsetof` was unsigned and the subtraction underflowed it.

    I generally want to phase out the `kFooOffset` macros, where I've been inconsistently keeping around old ones in some cases where it made the CL too large, and immediately removing it in other cases. Maybe here the diff would have been cleaner without these changes, but I'd prefer not to revert them now that they're done.

    If we were to keep it permanently for `map`, then I'd want a better idea of why we shouldn't then keep it for other fields.

    File src/ic/ic.cc
    Line 1396, Patchset 5 (Latest): if ((IsJSObject(Tagged<Object>(*receiver)) &&
    Jakob Linke . resolved

    Do you need `Tagged<..>()` here?

    Leszek Swirski

    Done

    File src/objects/call-site-info.cc
    Line 496, Patchset 4: if (IsWasmObject(Tagged<Object>(current))) continue;
    Jakob Kummerow . resolved

    Why is this needed here when line 498 doesn't need it?

    Leszek Swirski

    Done

    File src/objects/casting.h
    Line 363, Patchset 5 (Latest):template <typename To, typename From>
    Jakob Linke . resolved

    These overloads are dead too

    Leszek Swirski

    Done

    File src/objects/heap-object.h
    Line 471, Patchset 5 (Latest): friend class HeapObject;
    Jakob Linke . resolved

    Self-friend

    Leszek Swirski

    Done

    Line 452, Patchset 5 (Latest): return reinterpret_cast<Address>(this) + offset;
    Jakob Linke . resolved

    suggestion: `address() +`

    Leszek Swirski

    Done

    Jakob Kummerow . resolved

    Isn't everything before this point `public` as well?

    Leszek Swirski

    Done

    Line 437, Patchset 4: HeapObject* operator->() { return this; }
    const HeapObject* operator->() const { return this; }
    Jakob Kummerow . resolved

    I think we no longer need to override these, do we? Regular C++ should do the trick?

    Leszek Swirski

    Done

    Line 19, Patchset 4:#include "v8-internal.h"
    Jakob Kummerow . resolved

    This shouldn't come after the include that has to be the last include.

    Leszek Swirski

    funnily enough, this is a clangd error rather than a Gemini one.

    File src/objects/js-objects.cc
    Line 588, Patchset 4: if (IsWasmObject(Tagged(this))) return roots.Object_string();
    Jakob Kummerow . resolved

    Why here and not above (lines 572 - 586)?

    Leszek Swirski

    Done

    File src/objects/js-regexp-inl.h
    Line 31, Patchset 4: CONDITIONAL_WRITE_BARRIER(Tagged<HeapObject>(this), kLastIndexOffset, value,
    Jakob Kummerow . resolved

    Other places just pass `this` to `CONDITIONAL_WRITE_BARRIER`, I guess we could do that here too?

    Leszek Swirski

    Done

    File src/objects/keys.cc
    Line 705, Patchset 4: if (IsWasmObject(Tagged<Object>(receiver))) return false;
    Jakob Kummerow . resolved

    Why? `receiver` already is a `Tagged<>`.

    Leszek Swirski

    Done

    Line 719, Patchset 4: if (IsWasmObject(Tagged<Object>(*receiver))) return false;
    Jakob Kummerow . resolved

    Doesn't `Handle::operator*` return a `Tagged<>`? Why the explicit constructor call?

    Leszek Swirski

    Done

    File src/objects/object-macros.h
    Line 283, Patchset 4:#define ACCESSORS_NOCAGE(holder, name, type, offset) \
    Jakob Kummerow . resolved

    Rebasing note: crrev.com/c/7806587 has just dropped this macro.

    Leszek Swirski

    Nice, rebased.

    File src/objects/object-predicates-inl.h
    Line 276, Patchset 5 (Latest): inline bool Is##Name(HeapObject obj, PtrComprCageBase cage_base) { \
    Jakob Linke . resolved

    Here, too

    Leszek Swirski

    Done

    Line 272, Patchset 5 (Latest): inline bool Is##Name(HeapObject obj) { \
    Jakob Linke . resolved

    Stale by-value overload

    Leszek Swirski

    Done

    File src/objects/objects-body-descriptors.h
    Line 200, Patchset 5 (Latest):class StructBodyDescriptor : public FlexibleBodyDescriptor<sizeof(HeapObject)> {
    Jakob Linke . resolved

    No action needed here since many others do this too.. But it's a brittle pattern. It'd be much nicer to have a Super convention, similar.

    Leszek Swirski

    I want to rethink BodyDescriptors entirely, so punting for now.

    File src/objects/ordered-hash-table.h
    Line 423, Patchset 4:class SmallOrderedHashTable : public HeapObject {
    Jakob Kummerow . resolved

    Why drop this here, while most other class definitions are keeping it?

    Leszek Swirski

    bad rebase, thanks.

    File src/objects/swiss-name-dictionary.h
    Line 71, Patchset 4:class V8_EXPORT_PRIVATE SwissNameDictionary : public HeapObject {
    Jakob Kummerow . resolved

    Why drop this here, while most other class definitions are keeping it?

    Leszek Swirski

    bad rebase

    File src/objects/tagged.h
    Line 836, Patchset 5 (Latest):// TODO(leszeks): Remove once we're using Tagged everywhere.
    Jakob Linke . resolved

    Could we do this now? Passing T by value is now invalid, post-port

    Leszek Swirski

    Done

    Line 778, Patchset 5 (Latest): static_assert(std::is_base_of_v<HeapObject, U>);
    Jakob Linke . resolved

    Is this U still needed? Could you inline `std::is_base_of_v<HeapObject, T>` instead?

    Leszek Swirski

    I think we can just fully remove it actually.

    Line 744, Patchset 5 (Latest): template <typename U = T>
    Jakob Linke . resolved

    U is now unused

    Leszek Swirski

    so it is, thanks

    Line 712, Patchset 5 (Latest): // Implicit conversions and explicit casts to/from raw pointers.
    Jakob Linke . resolved

    Stale comment block

    Leszek Swirski

    Done

    Line 709, Patchset 5 (Latest): V8_INLINE constexpr T& operator*() const { return *ToRawPtr(); }
    Jakob Linke . resolved

    Are these actually `constexpr`?

    Leszek Swirski

    Good point, they're not (I wish `reinterpret_cast` could be `constexpr` but that's the way it has to be, honestly not sure these were ever `constexpr` to start with)

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jakob Kummerow
    • Jakob Linke
    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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
    Gerrit-Change-Number: 7806341
    Gerrit-PatchSet: 5
    Gerrit-Owner: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
    Gerrit-Reviewer: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-CC: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Attention: Jakob Linke <jgr...@chromium.org>
    Gerrit-Attention: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Comment-Date: Mon, 04 May 2026 13:12:16 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Jakob Linke <jgr...@chromium.org>
    Comment-In-Reply-To: Jakob Kummerow <jkum...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    SLSA Policy Verification Service (Gerrit)

    unread,
    9:23 AM (6 hours ago) 9:23 AM
    to Leszek Swirski, Jakob Linke, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Jakob Kummerow, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Jakob Kummerow and Jakob Linke

    SLSA Policy Verification Service voted SLSA-Policy-Verified+1

    SLSA-Policy-Verified+1
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jakob Kummerow
    • Jakob Linke
    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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
    Gerrit-Change-Number: 7806341
    Gerrit-PatchSet: 6
    Gerrit-Owner: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
    Gerrit-Reviewer: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-CC: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Attention: Jakob Linke <jgr...@chromium.org>
    Gerrit-Attention: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Comment-Date: Mon, 04 May 2026 13:23:45 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Jakob Linke (Gerrit)

    unread,
    9:29 AM (6 hours ago) 9:29 AM
    to Leszek Swirski, SLSA Policy Verification Service, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Jakob Kummerow, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Jakob Kummerow and Leszek Swirski

    Jakob Linke voted and added 2 comments

    Votes added by Jakob Linke

    Code-Review+1

    2 comments

    File src/compiler/raw-machine-assembler.h
    Line 165, Patchset 4: return m.Is(static_cast<int>(offsetof(HeapObject, map_)) - kHeapObjectTag);
    Jakob Kummerow . unresolved

    Why? `Int64Matcher::Is()` takes an `int64_t`.

    Higher-level: Looks like the size of this CL could be reduced significantly with a global `int HeapObject::kMapOffset = 0` definition. In this particular case, I wouldn't even insist on using `offsetof` to compute it, because it's so exceedingly unlikely that we'd ever reshuffle the `map_` member of heap objects 😊

    Leszek Swirski

    it could also be a cast to `int64_t`, the key here was that `offsetof` was unsigned and the subtraction underflowed it.

    I generally want to phase out the `kFooOffset` macros, where I've been inconsistently keeping around old ones in some cases where it made the CL too large, and immediately removing it in other cases. Maybe here the diff would have been cleaner without these changes, but I'd prefer not to revert them now that they're done.

    If we were to keep it permanently for `map`, then I'd want a better idea of why we shouldn't then keep it for other fields.

    Jakob Linke

    Yeah that's a valid q, and personally I don't see the `offsetof/sizeof` forms as a huge improvement over the kFooOffset macros. For `sizeof` specifically, there's also the matter of possible subtle differences between Foo::kHeaderSize, sizeof(Foo), and actual object size (eg with embedder fields and in-obj props).

    I don't have strong opinions here, happy to go either way. Automating the `offsetof` transition works nicely. Just personally I'm not yet convinced it's better. Your thoughts?

    Not a blocker for this cl.

    File src/objects/object-macros.h
    Line 80, Patchset 6 (Latest):#define OBJECT_CONSTRUCTORS(Type, ...)
    Jakob Linke . unresolved

    Is the plan to remove this in a followup?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jakob Kummerow
    • Leszek Swirski
    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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
    Gerrit-Change-Number: 7806341
    Gerrit-PatchSet: 6
    Gerrit-Owner: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
    Gerrit-Reviewer: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-CC: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Attention: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Attention: Leszek Swirski <les...@chromium.org>
    Gerrit-Comment-Date: Mon, 04 May 2026 13:29:48 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    Comment-In-Reply-To: Jakob Kummerow <jkum...@chromium.org>
    Comment-In-Reply-To: Leszek Swirski <les...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    SLSA Policy Verification Service (Gerrit)

    unread,
    9:56 AM (6 hours ago) 9:56 AM
    to Leszek Swirski, Jakob Linke, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Jakob Kummerow, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Jakob Kummerow, Jakob Linke and Leszek Swirski

    SLSA Policy Verification Service voted SLSA-Policy-Verified+1

    SLSA-Policy-Verified+1
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jakob Kummerow
    • Jakob Linke
    • Leszek Swirski
    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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
    Gerrit-Change-Number: 7806341
    Gerrit-PatchSet: 8
    Gerrit-Owner: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
    Gerrit-Reviewer: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-CC: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Attention: Jakob Linke <jgr...@chromium.org>
    Gerrit-Attention: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Attention: Leszek Swirski <les...@chromium.org>
    Gerrit-Comment-Date: Mon, 04 May 2026 13:56:01 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Leszek Swirski (Gerrit)

    unread,
    9:57 AM (6 hours ago) 9:57 AM
    to SLSA Policy Verification Service, Jakob Linke, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Jakob Kummerow, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Jakob Kummerow and Jakob Linke

    Leszek Swirski added 3 comments

    Patchset-level comments
    File-level comment, Patchset 8 (Latest):
    Leszek Swirski . resolved

    PTAL again, I updated docs which cleared the +1

    File src/compiler/raw-machine-assembler.h
    Line 165, Patchset 4: return m.Is(static_cast<int>(offsetof(HeapObject, map_)) - kHeapObjectTag);
    Jakob Kummerow . unresolved

    Why? `Int64Matcher::Is()` takes an `int64_t`.

    Higher-level: Looks like the size of this CL could be reduced significantly with a global `int HeapObject::kMapOffset = 0` definition. In this particular case, I wouldn't even insist on using `offsetof` to compute it, because it's so exceedingly unlikely that we'd ever reshuffle the `map_` member of heap objects 😊

    Leszek Swirski

    it could also be a cast to `int64_t`, the key here was that `offsetof` was unsigned and the subtraction underflowed it.

    I generally want to phase out the `kFooOffset` macros, where I've been inconsistently keeping around old ones in some cases where it made the CL too large, and immediately removing it in other cases. Maybe here the diff would have been cleaner without these changes, but I'd prefer not to revert them now that they're done.

    If we were to keep it permanently for `map`, then I'd want a better idea of why we shouldn't then keep it for other fields.

    Jakob Linke

    Yeah that's a valid q, and personally I don't see the `offsetof/sizeof` forms as a huge improvement over the kFooOffset macros. For `sizeof` specifically, there's also the matter of possible subtle differences between Foo::kHeaderSize, sizeof(Foo), and actual object size (eg with embedder fields and in-obj props).

    I don't have strong opinions here, happy to go either way. Automating the `offsetof` transition works nicely. Just personally I'm not yet convinced it's better. Your thoughts?

    Not a blocker for this cl.

    Leszek Swirski

    Well I'm hoping that at least `Foo::kHeaderSize` goes away in favour of `sizeof(Foo)` or explicit offsets of the end-of-header where appropriate. Actual object size already has conflicts between `kSize` and `SizeFor`, though admittedly variable-sized types didn't have a `kSize` and will have a `sizeof`. Really what I'd like to do in as many places as possible is remove offset-based access entirely and access fields directly by reference, obviously this doesn't apply to codegen though. Either way, since this is a reversible decision, let's leave it for a future discussion to help this land.

    File src/objects/object-macros.h
    Line 80, Patchset 6:#define OBJECT_CONSTRUCTORS(Type, ...)
    Jakob Linke . resolved

    Is the plan to remove this in a followup?

    Leszek Swirski

    It was, but you made me realise I could remove it here.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jakob Kummerow
    • Jakob Linke
    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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
    Gerrit-Change-Number: 7806341
    Gerrit-PatchSet: 8
    Gerrit-Owner: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
    Gerrit-Reviewer: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-CC: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Attention: Jakob Linke <jgr...@chromium.org>
    Gerrit-Attention: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Comment-Date: Mon, 04 May 2026 13:57:02 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Jakob Linke <jgr...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Jakob Kummerow (Gerrit)

    unread,
    10:02 AM (6 hours ago) 10:02 AM
    to Leszek Swirski, Jakob Kummerow, SLSA Policy Verification Service, Jakob Linke, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Jakob Linke and Leszek Swirski

    Jakob Kummerow voted and added 2 comments

    Votes added by Jakob Kummerow

    Code-Review+1

    2 comments

    File src/compiler/raw-machine-assembler.h
    Line 165, Patchset 4: return m.Is(static_cast<int>(offsetof(HeapObject, map_)) - kHeapObjectTag);
    Jakob Kummerow . resolved

    Why? `Int64Matcher::Is()` takes an `int64_t`.

    Higher-level: Looks like the size of this CL could be reduced significantly with a global `int HeapObject::kMapOffset = 0` definition. In this particular case, I wouldn't even insist on using `offsetof` to compute it, because it's so exceedingly unlikely that we'd ever reshuffle the `map_` member of heap objects 😊

    Leszek Swirski

    it could also be a cast to `int64_t`, the key here was that `offsetof` was unsigned and the subtraction underflowed it.

    I generally want to phase out the `kFooOffset` macros, where I've been inconsistently keeping around old ones in some cases where it made the CL too large, and immediately removing it in other cases. Maybe here the diff would have been cleaner without these changes, but I'd prefer not to revert them now that they're done.

    If we were to keep it permanently for `map`, then I'd want a better idea of why we shouldn't then keep it for other fields.

    Jakob Linke

    Yeah that's a valid q, and personally I don't see the `offsetof/sizeof` forms as a huge improvement over the kFooOffset macros. For `sizeof` specifically, there's also the matter of possible subtle differences between Foo::kHeaderSize, sizeof(Foo), and actual object size (eg with embedder fields and in-obj props).

    I don't have strong opinions here, happy to go either way. Automating the `offsetof` transition works nicely. Just personally I'm not yet convinced it's better. Your thoughts?

    Not a blocker for this cl.

    Jakob Kummerow

    Yeah, no need to block this CL.

    I don't have strong feelings on `offsetof` vs `kFooOffset` in general. I see the following arguments:

    • we're all used to `kFooOffset`, and it's less verbose, as a consequence I tend to find it more readable (but could probably get used to the alternative)
    • `offsetof` is standard C++, not a V8ism
    • defining `kFooOffset` for every field of every class adds boilerplate code
    • `kHeaderSize` might need to stay in some cases, so arguably keeping the other constants too is consistent with that

    So overall, `kFooOffset` doesn't bother me, but I'm not going to vocally oppose a switch to `offsetof`.

    File src/objects/heap-object.h
    Line 19, Patchset 4:#include "v8-internal.h"
    Jakob Kummerow . resolved

    This shouldn't come after the include that has to be the last include.

    Leszek Swirski

    funnily enough, this is a clangd error rather than a Gemini one.

    Jakob Kummerow

    I configure my clangd with `-header-insertion=never` to avoid these stray edits.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Jakob Linke
    • Leszek Swirski
    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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
    Gerrit-Change-Number: 7806341
    Gerrit-PatchSet: 8
    Gerrit-Owner: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
    Gerrit-Reviewer: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-Attention: Leszek Swirski <les...@chromium.org>
    Gerrit-Comment-Date: Mon, 04 May 2026 14:02:20 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy

    Jakob Linke (Gerrit)

    unread,
    10:26 AM (5 hours ago) 10:26 AM
    to Leszek Swirski, Jakob Kummerow, SLSA Policy Verification Service, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Leszek Swirski

    Jakob Linke voted Code-Review+1

    Code-Review+1
    Open in Gerrit

    Related details

    Attention is currently required from:
    • Leszek Swirski
    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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
    Gerrit-Change-Number: 7806341
    Gerrit-PatchSet: 8
    Gerrit-Owner: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
    Gerrit-Reviewer: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-Attention: Leszek Swirski <les...@chromium.org>
    Gerrit-Comment-Date: Mon, 04 May 2026 14:26:37 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy

    Leszek Swirski (Gerrit)

    unread,
    11:04 AM (5 hours ago) 11:04 AM
    to Jakob Linke, Jakob Kummerow, SLSA Policy Verification Service, v8-s...@luci-project-accounts.iam.gserviceaccount.com, Hannes Payer, devtools-...@chromium.org, dmercadi...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, oilpan-r...@chromium.org, pthier...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com

    Leszek Swirski voted Commit-Queue+2

    Commit-Queue+2
    Open in Gerrit

    Related details

    Attention set is empty
    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: Ifd9b4845d95d14aaf9df91489492d45e41b59fa7
    Gerrit-Change-Number: 7806341
    Gerrit-PatchSet: 8
    Gerrit-Owner: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: Jakob Kummerow <jkum...@chromium.org>
    Gerrit-Reviewer: Jakob Linke <jgr...@chromium.org>
    Gerrit-Reviewer: Leszek Swirski <les...@chromium.org>
    Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-Comment-Date: Mon, 04 May 2026 15:04:40 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy
    Reply all
    Reply to author
    Forward
    0 new messages