[XL] Change in dart/sdk[main]: [vm] Remove the VM isolate.

0 views
Skip to first unread message

Ryan Macnak (Gerrit)

unread,
May 11, 2026, 10:14:22 PM (2 days ago) May 11
to Alexander Markov, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, SLSA Policy Verification Service, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Alexander Markov and Tess Strickland

Ryan Macnak added 3 comments

Patchset-level comments
File-level comment, Patchset 31 (Latest):
Ryan Macnak . resolved

See also cl/912245883.

File runtime/tests/vm/dart/hash_map_probes_limit_test.dart
Line 8, Patchset 31 (Latest):// VMOptions=--hash_map_probes_limit=3000
Ryan Macnak . resolved

(Somehow caused by the symbol aliases.)

File tools/bots/try_benchmarks.sh
Line 77, Patchset 24: -K 'kDartVmSnapshotData' \
Ryan Macnak . resolved
Open in Gerrit

Related details

Attention is currently required from:
  • Alexander Markov
  • Tess Strickland
Submit Requirements:
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • 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: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 31
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Alexander Markov <alexm...@google.com>
Gerrit-Comment-Date: Tue, 12 May 2026 02:14:18 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
satisfied_requirement
open
diffy

SLSA Policy Verification Service (Gerrit)

unread,
May 11, 2026, 10:14:23 PM (2 days ago) May 11
to Ryan Macnak, Alexander Markov, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Alexander Markov and Tess Strickland

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

SLSA-Policy-Verified+1
Gerrit-Comment-Date: Tue, 12 May 2026 02:14:20 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
unsatisfied_requirement
satisfied_requirement
open
diffy

SLSA Policy Verification Service (Gerrit)

unread,
May 12, 2026, 1:42:00 PM (19 hours ago) May 12
to Ryan Macnak, Alexander Markov, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Alexander Markov and Tess Strickland

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

SLSA-Policy-Verified+1
Open in Gerrit

Related details

Attention is currently required from:
  • Alexander Markov
  • Tess Strickland
Submit Requirements:
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • 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: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 32
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Alexander Markov <alexm...@google.com>
Gerrit-Comment-Date: Tue, 12 May 2026 17:41:56 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
unsatisfied_requirement
satisfied_requirement
open
diffy

Alexander Markov (Gerrit)

unread,
May 12, 2026, 2:59:48 PM (18 hours ago) May 12
to Ryan Macnak, Alexander Markov, SLSA Policy Verification Service, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Ryan Macnak and Tess Strickland

Alexander Markov voted and added 11 comments

Votes added by Alexander Markov

Code-Review+1

11 comments

Patchset-level comments
File-level comment, Patchset 32 (Latest):
Alexander Markov . resolved

Nice!

Please address the remaining failures before landing.

File runtime/bin/elf_loader.h
Line 23, Patchset 32 (Latest):/// "_kVmSnapshotInstructions", "_kVmIsolateData" and "_kVmIsolateInstructions"
Alexander Markov . unresolved

Nit: please update

File runtime/tests/vm/dart/hash_map_probes_limit_test.dart
Line 8, Patchset 32 (Latest):// VMOptions=--hash_map_probes_limit=25000
Alexander Markov . unresolved

25k sounds like a lot of hash collisions. We should probably check which hash map caused so many collisions and improve corresponding hashcode.

(Consider filing an issue / increasing to a smaller value.)

File runtime/vm/app_snapshot.h
Line 74, Patchset 32 (Latest): static char* InitializeGroupFlagsFromSnapshot(const Snapshot* snapshot);
Alexander Markov . unresolved

Nit: IsolateGroup

File runtime/vm/app_snapshot.cc
Line 1298, Patchset 32 (Latest): // if (!current_table.IsNull()) {
Alexander Markov . unresolved

Nit: please do not leave commented out code (either delete or uncomment).

Line 8364, Patchset 32 (Latest): if (false && code == StubCode::LazyCompile().ptr()) {
Alexander Markov . unresolved

Delete this code; consider dropping special index 0 and `1 +` below.

File runtime/vm/compiler/backend/il_arm64.cc
Line 3749, Patchset 32 (Latest): const bool stubs_in_vm_isolate = false;
Alexander Markov . unresolved

Nit: remove (also on other architectures)

File runtime/vm/isolate.h
Line 1527, Patchset 32 (Latest): void FixNulls();
Alexander Markov . unresolved

Nit: it is not clear what this function is doing. Consider adding a comment or picking a more descriptive name.

File runtime/vm/object.h
Line 7012, Patchset 32 (Parent): if (IsUnknownDartCode(code)) return kUwordMax;
Alexander Markov . unresolved

ditto

Line 6940, Patchset 32 (Parent): if (IsUnknownDartCode(code)) return 0;
Alexander Markov . unresolved

Why is this removed? `UnknownDartCode` is used in AOT when `Code` object is discarded. It can be used for any function in the program, so its payload start/size are defined to include the whole address space.

File runtime/vm/raw_object.h
Line 2117, Patchset 32 (Latest):#if !defined(PRODUCT)
Alexander Markov . unresolved

Why do we need local var descriptors in AOT?

Open in Gerrit

Related details

Attention is currently required from:
  • Ryan Macnak
  • Tess Strickland
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 32
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Ryan Macnak <rma...@google.com>
Gerrit-Comment-Date: Tue, 12 May 2026 18:59:43 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

SLSA Policy Verification Service (Gerrit)

unread,
May 12, 2026, 3:55:37 PM (17 hours ago) May 12
to Ryan Macnak, Alexander Markov, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Ryan Macnak and Tess Strickland

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

SLSA-Policy-Verified+1
Open in Gerrit

Related details

Attention is currently required from:
  • Ryan Macnak
  • Tess Strickland
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 33
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Ryan Macnak <rma...@google.com>
Gerrit-Comment-Date: Tue, 12 May 2026 19:55:33 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

SLSA Policy Verification Service (Gerrit)

unread,
May 12, 2026, 4:48:57 PM (16 hours ago) May 12
to Ryan Macnak, Alexander Markov, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Ryan Macnak and Tess Strickland

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

SLSA-Policy-Verified+1
Open in Gerrit

Related details

Attention is currently required from:
  • Ryan Macnak
  • Tess Strickland
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 34
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Ryan Macnak <rma...@google.com>
Gerrit-Comment-Date: Tue, 12 May 2026 20:48:53 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Ryan Macnak (Gerrit)

unread,
May 12, 2026, 4:49:07 PM (16 hours ago) May 12
to SLSA Policy Verification Service, Alexander Markov, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Alexander Markov and Tess Strickland

Ryan Macnak voted and added 10 comments

Votes added by Ryan Macnak

Commit-Queue+1

10 comments

File runtime/bin/elf_loader.h
Line 23, Patchset 32:/// "_kVmSnapshotInstructions", "_kVmIsolateData" and "_kVmIsolateInstructions"
Alexander Markov . resolved

Nit: please update

Ryan Macnak

Done

File runtime/tests/vm/dart/hash_map_probes_limit_test.dart
Line 8, Patchset 32:// VMOptions=--hash_map_probes_limit=25000
Alexander Markov . unresolved

25k sounds like a lot of hash collisions. We should probably check which hash map caused so many collisions and improve corresponding hashcode.

(Consider filing an issue / increasing to a smaller value.)

Ryan Macnak

It has to do with the symbol aliases for kDartIsolateSnapshotData -> kDartSnapshotData and by_label_index. In the child CL that removes the aliases, this is set back to the current value.

File runtime/vm/app_snapshot.h
Line 74, Patchset 32: static char* InitializeGroupFlagsFromSnapshot(const Snapshot* snapshot);
Alexander Markov . resolved

Nit: IsolateGroup

Ryan Macnak

Done

File runtime/vm/app_snapshot.cc
Line 1298, Patchset 32: // if (!current_table.IsNull()) {
Alexander Markov . resolved

Nit: please do not leave commented out code (either delete or uncomment).

Ryan Macnak

Restored check for AOT and JIT snapshots.

Line 8364, Patchset 32: if (false && code == StubCode::LazyCompile().ptr()) {
Alexander Markov . resolved

Delete this code; consider dropping special index 0 and `1 +` below.

Ryan Macnak

Done

File runtime/vm/compiler/backend/il_arm64.cc
Line 3749, Patchset 32: const bool stubs_in_vm_isolate = false;
Alexander Markov . resolved

Nit: remove (also on other architectures)

Ryan Macnak

Done

File runtime/vm/isolate.h
Line 1527, Patchset 32: void FixNulls();
Alexander Markov . resolved

Nit: it is not clear what this function is doing. Consider adding a comment or picking a more descriptive name.

Ryan Macnak

Done

File runtime/vm/object.h
Line 7012, Patchset 32 (Parent): if (IsUnknownDartCode(code)) return kUwordMax;
Alexander Markov . resolved

ditto

Ryan Macnak

Acknowledged

Line 6940, Patchset 32 (Parent): if (IsUnknownDartCode(code)) return 0;
Alexander Markov . unresolved

Why is this removed? `UnknownDartCode` is used in AOT when `Code` object is discarded. It can be used for any function in the program, so its payload start/size are defined to include the whole address space.

Ryan Macnak

The UnknownDartCode stub itself has instructions / non-zero size. If it claims to have 0 size, this confuses things like filling in InstructionsTable after deserialization. I think this only worked by accident before because the UnknownDartCode is the very last stub in the VM isolate.

File runtime/vm/raw_object.h
Line 2117, Patchset 32:#if !defined(PRODUCT)
Alexander Markov . resolved

Why do we need local var descriptors in AOT?

Ryan Macnak

We don't need the var descriptors. What we need here is agreement between the serializer and deserializer about how many fields Bytecode has. In practice, this is only going to cover ~dozen bytecode stubs, so a more complicated set of ifdef/to_snapshot(kind) would only save a ~dozen bytes in the snapshot.

Open in Gerrit

Related details

Attention is currently required from:
  • Alexander Markov
  • Tess Strickland
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 34
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Alexander Markov <alexm...@google.com>
Gerrit-Comment-Date: Tue, 12 May 2026 20:49:04 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: Alexander Markov <alexm...@google.com>
satisfied_requirement
open
diffy

Alexander Markov (Gerrit)

unread,
May 12, 2026, 5:04:25 PM (16 hours ago) May 12
to Ryan Macnak, SLSA Policy Verification Service, Alexander Markov, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Ryan Macnak and Tess Strickland

Alexander Markov voted and added 2 comments

Votes added by Alexander Markov

Code-Review+1

2 comments

File runtime/vm/object.h
Line 6940, Patchset 32 (Parent): if (IsUnknownDartCode(code)) return 0;
Alexander Markov . unresolved

Why is this removed? `UnknownDartCode` is used in AOT when `Code` object is discarded. It can be used for any function in the program, so its payload start/size are defined to include the whole address space.

Ryan Macnak

The UnknownDartCode stub itself has instructions / non-zero size. If it claims to have 0 size, this confuses things like filling in InstructionsTable after deserialization. I think this only worked by accident before because the UnknownDartCode is the very last stub in the VM isolate.

Alexander Markov

Note that it's a `PayloadStartOf`, not size. UnknownDartCode starts at 0 and has a size of kUwordMax, so it claims the whole address space 0...kUwordMax range to contain all possible code. We can special case it during deserialization if needed.

(The instructions of UnknownDartCode are not actually used. The Code object of this stub is used as Function::CurrentCode() when their own Code object is discarded. It's a snapshot size & memory usage optimization in AOT/PRODUCT mode.)

File runtime/vm/raw_object.h
Line 2117, Patchset 32:#if !defined(PRODUCT)
Alexander Markov . unresolved

Why do we need local var descriptors in AOT?

Ryan Macnak

We don't need the var descriptors. What we need here is agreement between the serializer and deserializer about how many fields Bytecode has. In practice, this is only going to cover ~dozen bytecode stubs, so a more complicated set of ifdef/to_snapshot(kind) would only save a ~dozen bytes in the snapshot.

Alexander Markov

There could be many `Bytecode` objects at runtime (e.g. if dynamic module(s) are loaded). In such a case, extra field in Bytecode object in AOT mode would result in the unnecessary increase in memory usage. Can we omit it?

Open in Gerrit

Related details

Attention is currently required from:
  • Ryan Macnak
  • Tess Strickland
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 34
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Ryan Macnak <rma...@google.com>
Gerrit-Comment-Date: Tue, 12 May 2026 21:04:22 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: Alexander Markov <alexm...@google.com>
Comment-In-Reply-To: Ryan Macnak <rma...@google.com>
satisfied_requirement
open
diffy

SLSA Policy Verification Service (Gerrit)

unread,
May 12, 2026, 6:24:24 PM (15 hours ago) May 12
to Ryan Macnak, Alexander Markov, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Ryan Macnak and Tess Strickland

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

SLSA-Policy-Verified+1
Open in Gerrit

Related details

Attention is currently required from:
  • Ryan Macnak
  • Tess Strickland
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 35
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Ryan Macnak <rma...@google.com>
Gerrit-Comment-Date: Tue, 12 May 2026 22:24:19 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

SLSA Policy Verification Service (Gerrit)

unread,
May 12, 2026, 7:37:50 PM (14 hours ago) May 12
to Ryan Macnak, Alexander Markov, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Ryan Macnak and Tess Strickland

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

SLSA-Policy-Verified+1
Open in Gerrit

Related details

Attention is currently required from:
  • Ryan Macnak
  • Tess Strickland
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 36
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Ryan Macnak <rma...@google.com>
Gerrit-Comment-Date: Tue, 12 May 2026 23:37:46 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Ryan Macnak (Gerrit)

unread,
May 12, 2026, 7:42:32 PM (13 hours ago) May 12
to SLSA Policy Verification Service, Alexander Markov, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Tess Strickland

Ryan Macnak voted and added 1 comment

Votes added by Ryan Macnak

Commit-Queue+1

1 comment

File runtime/vm/raw_object.h
Line 2117, Patchset 32:#if !defined(PRODUCT)
Alexander Markov . resolved

Why do we need local var descriptors in AOT?

Ryan Macnak

We don't need the var descriptors. What we need here is agreement between the serializer and deserializer about how many fields Bytecode has. In practice, this is only going to cover ~dozen bytecode stubs, so a more complicated set of ifdef/to_snapshot(kind) would only save a ~dozen bytes in the snapshot.

Alexander Markov

There could be many `Bytecode` objects at runtime (e.g. if dynamic module(s) are loaded). In such a case, extra field in Bytecode object in AOT mode would result in the unnecessary increase in memory usage. Can we omit it?

Ryan Macnak

Oh, right, the heap size for the ones not in the snapshot. Done.

Open in Gerrit

Related details

Attention is currently required from:
  • Tess Strickland
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 36
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Tess Strickland <sstr...@google.com>
Gerrit-Comment-Date: Tue, 12 May 2026 23:42:28 +0000
satisfied_requirement
open
diffy

SLSA Policy Verification Service (Gerrit)

unread,
May 12, 2026, 8:43:24 PM (12 hours ago) May 12
to Ryan Macnak, Alexander Markov, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Ryan Macnak and Tess Strickland

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

SLSA-Policy-Verified+1
Open in Gerrit

Related details

Attention is currently required from:
  • Ryan Macnak
  • Tess Strickland
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 37
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Ryan Macnak <rma...@google.com>
Gerrit-Comment-Date: Wed, 13 May 2026 00:43:20 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

SLSA Policy Verification Service (Gerrit)

unread,
May 12, 2026, 9:31:47 PM (12 hours ago) May 12
to Ryan Macnak, Alexander Markov, Tess Strickland, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Ryan Macnak and Tess Strickland

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

SLSA-Policy-Verified+1
Open in Gerrit

Related details

Attention is currently required from:
  • Ryan Macnak
  • Tess Strickland
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 38
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Ryan Macnak <rma...@google.com>
Gerrit-Comment-Date: Wed, 13 May 2026 01:31:43 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
open
diffy

Tess Strickland (Gerrit)

unread,
8:47 AM (23 minutes ago) 8:47 AM
to Ryan Macnak, SLSA Policy Verification Service, Alexander Markov, dart-...@luci-project-accounts.iam.gserviceaccount.com, dart-vm-compil...@google.com, rev...@dartlang.org, vm-...@dartlang.org
Attention needed from Ryan Macnak

Tess Strickland added 3 comments

Patchset-level comments
File-level comment, Patchset 38 (Latest):
Tess Strickland . resolved

I'm still looking through this, but just wanted to note some things as I'm going.

File runtime/vm/elf.cc
Line 1727, Patchset 38 (Latest):// For the build ID, we generate a 128-bit hash, where each 32 bits is a hash of
// the contents of the following segments in order:
//
// .text(Isolate) | .rodata(Isolate)
Tess Strickland . unresolved

Not a blocker, but we should create an issue to fix up the hashing so that we're not just generating constant 0s as part of the build ID.

A quick stop-gap would be to change `BitsContainer::Hash` to return a uint64_t and just hash each half of the contents separately using `Utils::StringHash`, then concatenate the two results. It's not perfect but it'll do for now.

File runtime/vm/mach_o.cc
Line 2498, Patchset 38 (Latest): uint32_t hashes[4];
COMPILE_ASSERT(sizeof(hashes) == 16); // 128-bit UUID
hashes[0] = 0;
hashes[1] = HashPortion(*isolate_instructions);
hashes[2] = 0;
hashes[3] = HashPortion(*isolate_data);
Tess Strickland . unresolved

Ditto from `elf.cc`, just repeating the contents here:

Not a blocker, but we should create an issue to fix up the hashing so that we're not just generating constant 0s as part of the build ID.

A quick stop-gap would be to change `HashPortion` to return a uint64_t and have it just hash each half of the contents separately using `Utils::StringHash`, then concatenate the two results for the return value. It's not perfect but it'll do for now.

(Specific to `mach_o.cc`: And changing this part to be `uint64_t hashes[2];` ofc.)

Open in Gerrit

Related details

Attention is currently required from:
  • Ryan Macnak
Submit Requirements:
  • requirement satisfiedCode-Owners
  • requirement satisfiedCode-Review
  • requirement satisfiedCommit-Message-Has-TEST
  • requirement satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: sdk
Gerrit-Branch: main
Gerrit-Change-Id: Iee82016057d609112e9b021d178fc3d4d18b5044
Gerrit-Change-Number: 500621
Gerrit-PatchSet: 38
Gerrit-Owner: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: Alexander Markov <alexm...@google.com>
Gerrit-Reviewer: Ryan Macnak <rma...@google.com>
Gerrit-Reviewer: SLSA Policy Verification Service <devtools-gerritco...@google.com>
Gerrit-Reviewer: Tess Strickland <sstr...@google.com>
Gerrit-Attention: Ryan Macnak <rma...@google.com>
Gerrit-Comment-Date: Wed, 13 May 2026 12:47:53 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
open
diffy
Reply all
Reply to author
Forward
0 new messages