Skip to content

Comments

Initial support for struct.wait#8346

Draft
stevenfontanella wants to merge 3 commits intomainfrom
waitqueue-wait
Draft

Initial support for struct.wait#8346
stevenfontanella wants to merge 3 commits intomainfrom
waitqueue-wait

Conversation

@stevenfontanella
Copy link
Member

@stevenfontanella stevenfontanella commented Feb 19, 2026

  • Text/binary printing + parsing
    • The binary opcode is TBD and taken from the v8 PR for now.
  • Validation
  • Various handling for struct.wait in passes e.g. the cost, subtyping information, flow analysis, etc.

The interpreter implementation is left stubbed out and will be added in the next PR. Part of #8315.

@stevenfontanella stevenfontanella force-pushed the waitqueue-wait branch 2 times, most recently from bd62ca8 to a6d098e Compare February 19, 2026 23:15
@stevenfontanella stevenfontanella changed the title waitqueue.wait Initial support for waitqueue.wait Feb 19, 2026
@stevenfontanella stevenfontanella marked this pull request as ready for review February 20, 2026 00:31
@stevenfontanella stevenfontanella marked this pull request as draft February 20, 2026 00:44
@stevenfontanella stevenfontanella changed the title Initial support for waitqueue.wait Initial support for struct.wait Feb 20, 2026
ht = curr->structType;
}
note(&curr->ref, Type(*ht, Nullable));
note(&curr->expected, Type(Type::BasicType::i32));
Copy link
Member

Choose a reason for hiding this comment

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

Comparing this to AtomicWait, I see note(&curr->expected, curr->expectedType); there. Why is it i32 here? Is the spec just very different perhaps?

Copy link
Member

Choose a reason for hiding this comment

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

AtomicWait on memory comes in i32 and i64 variants. So far we only have an i32 variant for waitqueues.

@stevenfontanella
Copy link
Member Author

(Not 100% ready for review yet, will mark as ready for review again later)

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.

3 participants