Skip to content

Fix ChildTyper on unreachable and shared ArrayCmpxchg#8797

Merged
kripken merged 5 commits into
WebAssembly:mainfrom
kripken:gc-atomis-shared
Jun 2, 2026
Merged

Fix ChildTyper on unreachable and shared ArrayCmpxchg#8797
kripken merged 5 commits into
WebAssembly:mainfrom
kripken:gc-atomis-shared

Conversation

@kripken
Copy link
Copy Markdown
Member

@kripken kripken commented Jun 2, 2026

No description provided.

@kripken kripken requested a review from tlively June 2, 2026 16:31
@kripken kripken requested a review from a team as a code owner June 2, 2026 16:31
Copy link
Copy Markdown
Member

@tlively tlively left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, my agentic fuzzer had found this bug but then totally bungled the fix and I hadn't been able to reproduce it myself.

Comment thread src/ir/child-typer.h Outdated
@@ -1250,7 +1250,11 @@ template<typename Subtype> struct ChildTyper : OverriddenVisitor<Subtype> {
note(&curr->ref, Type(*ht, Nullable));
note(&curr->index, Type::i32);
// TODO: (shared eq) as appropriate.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can remove this TODO now.

Comment thread test/lit/basic/gc-atomics-shared.wast Outdated
Comment on lines +5 to +6
;; Check that we properly validate array.atomic.rmw.cmpxchg of a shared array,
;; when the instruction is unreachable.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say "properly parse when the the expected field does not have the correct sharedness" rather than "validate," since the validator isn't involved here.

@kripken kripken merged commit 5e0ad2c into WebAssembly:main Jun 2, 2026
16 checks passed
@kripken kripken deleted the gc-atomis-shared branch June 2, 2026 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants