[wasm][shared] Fix write barrier DCHECK for unshared cmpxchg of tagged [v8/v8 : main]

0 views
Skip to first unread message

Matthias Liedtke (Gerrit)

unread,
10:07 AM (10 hours ago) 10:07 AM
to Jakob Kummerow, v8-s...@luci-project-accounts.iam.gserviceaccount.com, dmercadi...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, was...@google.com
Attention needed from Jakob Kummerow

Matthias Liedtke added 1 comment

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

PTAL. I still suspect that the `test262` failiures in `v8_linux_rel` are infra-issues given that the bot says `=== All tests succeeded` in the failing step.

Open in Gerrit

Related details

Attention is currently required from:
  • Jakob Kummerow
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: I9f5621ef44d3a6bbd4b2aa481bea57d71cdc6f06
Gerrit-Change-Number: 7796482
Gerrit-PatchSet: 3
Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Reviewer: Jakob Kummerow <jkum...@chromium.org>
Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Attention: Jakob Kummerow <jkum...@chromium.org>
Gerrit-Comment-Date: Tue, 28 Apr 2026 14:07:53 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Jakob Kummerow (Gerrit)

unread,
11:00 AM (9 hours ago) 11:00 AM
to Matthias Liedtke, Jakob Kummerow, v8-s...@luci-project-accounts.iam.gserviceaccount.com, dmercadi...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, was...@google.com
Attention needed from Matthias Liedtke

Jakob Kummerow voted and added 3 comments

Votes added by Jakob Kummerow

Code-Review+1

3 comments

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

LGTM with minor comments. Thanks for fixing this!

File src/compiler/backend/ia32/code-generator-ia32.cc
Line 3757, Patchset 4 (Latest): // Reuse eax (the result register) as a scratch register for the write
// barrier.
Jakob Kummerow . unresolved

This comment was moved up, you can drop it here.

And as a minor optimization, I think the next two lines could make use of the new `done` label if you reorder them:
```
__ JumpIfSmi(written_value, &done);
__ Push(eax);
```
Could even consider writing `Push(scratch)` and `Pop(scratch)`; it's a bit unfortunate that the `scratch = eax` definition has to move further away now.

File test/mjsunit/regress/wasm/regress-505117973.js
Line 45, Patchset 4 (Latest): if (i % 10 === 0) gc();
Jakob Kummerow . unresolved

Doing 100 full GC runs is perhaps a bit slow; any chance to speed this test up?

Open in Gerrit

Related details

Attention is currently required from:
  • 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: I9f5621ef44d3a6bbd4b2aa481bea57d71cdc6f06
Gerrit-Change-Number: 7796482
Gerrit-PatchSet: 4
Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Reviewer: Jakob Kummerow <jkum...@chromium.org>
Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Attention: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Comment-Date: Tue, 28 Apr 2026 15:00:09 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Matthias Liedtke (Gerrit)

unread,
12:20 PM (7 hours ago) 12:20 PM
to Jakob Kummerow, v8-s...@luci-project-accounts.iam.gserviceaccount.com, dmercadi...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, was...@google.com
Attention needed from Jakob Kummerow

Matthias Liedtke voted and added 2 comments

Votes added by Matthias Liedtke

Commit-Queue+1

2 comments

File src/compiler/backend/ia32/code-generator-ia32.cc
Line 3757, Patchset 4: // Reuse eax (the result register) as a scratch register for the write
// barrier.
Jakob Kummerow . unresolved

This comment was moved up, you can drop it here.

And as a minor optimization, I think the next two lines could make use of the new `done` label if you reorder them:
```
__ JumpIfSmi(written_value, &done);
__ Push(eax);
```
Could even consider writing `Push(scratch)` and `Pop(scratch)`; it's a bit unfortunate that the `scratch = eax` definition has to move further away now.

Matthias Liedtke

If you'd like to optimize, I guess we'd want to remove the `done` label and instead only have one label? (PTAL if you agree, otherwise I can reintroduce a second label.)

File test/mjsunit/regress/wasm/regress-505117973.js
Line 45, Patchset 4: if (i % 10 === 0) gc();
Jakob Kummerow . resolved

Doing 100 full GC runs is perhaps a bit slow; any chance to speed this test up?

Matthias Liedtke

My bad, seems like one gc might be enough, let's do 2. I verified that it reproduces on `origin/main` in that case.

Open in Gerrit

Related details

Attention is currently required from:
  • Jakob Kummerow
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: I9f5621ef44d3a6bbd4b2aa481bea57d71cdc6f06
Gerrit-Change-Number: 7796482
Gerrit-PatchSet: 5
Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Reviewer: Jakob Kummerow <jkum...@chromium.org>
Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Attention: Jakob Kummerow <jkum...@chromium.org>
Gerrit-Comment-Date: Tue, 28 Apr 2026 16:20:55 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: Jakob Kummerow <jkum...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Jakob Kummerow (Gerrit)

unread,
1:25 PM (6 hours ago) 1:25 PM
to Matthias Liedtke, Jakob Kummerow, v8-s...@luci-project-accounts.iam.gserviceaccount.com, dmercadi...@chromium.org, v8-mip...@googlegroups.com, v8-ppc...@googlegroups.com, v8-re...@googlegroups.com, v8-risc...@chromium.org, was...@google.com
Attention needed from Matthias Liedtke

Jakob Kummerow voted and added 1 comment

Votes added by Jakob Kummerow

Code-Review+1

1 comment

File src/compiler/backend/ia32/code-generator-ia32.cc
Line 3757, Patchset 4: // Reuse eax (the result register) as a scratch register for the write
// barrier.
Jakob Kummerow . unresolved

This comment was moved up, you can drop it here.

And as a minor optimization, I think the next two lines could make use of the new `done` label if you reorder them:
```
__ JumpIfSmi(written_value, &done);
__ Push(eax);
```
Could even consider writing `Push(scratch)` and `Pop(scratch)`; it's a bit unfortunate that the `scratch = eax` definition has to move further away now.

Matthias Liedtke

If you'd like to optimize, I guess we'd want to remove the `done` label and instead only have one label? (PTAL if you agree, otherwise I can reintroduce a second label.)

Jakob Kummerow

Would be nice to get by with one label, but I don't think that works: now coming back from the OOL code would jump past the `Pop(scratch)` instruction.

Open in Gerrit

Related details

Attention is currently required from:
  • 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: I9f5621ef44d3a6bbd4b2aa481bea57d71cdc6f06
Gerrit-Change-Number: 7796482
Gerrit-PatchSet: 6
Gerrit-Owner: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Reviewer: Jakob Kummerow <jkum...@chromium.org>
Gerrit-Reviewer: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Attention: Matthias Liedtke <mlie...@chromium.org>
Gerrit-Comment-Date: Tue, 28 Apr 2026 17:25:18 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: Matthias Liedtke <mlie...@chromium.org>
Comment-In-Reply-To: Jakob Kummerow <jkum...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy
Reply all
Reply to author
Forward
0 new messages