gc
gc copied to clipboard
Branch of the spec repo scoped to discussion of GC integration in WebAssembly
`indirect call` -> `indirect call type mismatch` `cast` -> `cast failure` `incompatible import` -> `incompatible import type`
[Ref to the spec](https://webassembly.github.io/gc/js-api/index.html#tovaluetype). ToValueType (which is used in global and table constructors) doesn't appear to support any of the GC heap types such as `anyref`. SM and V8 appear...
Use case: Your language allows users to define new packed struct types at runtime. Your language toolchain targets wasm/gc. You use an `(array i8)` to represent the backing store for...
Reading the discussions re mappings between GC objects and host objects, I see that they focus mostly on structs. I'm wondering if it would make sense to treat arrays separately....
Since the renaming of `i31.new` to `ref.i31`, `ref.i31` appears twice in the set of instructions (when including administrative instructions) with each having a different syntax (one made of an integer...
These are the feature requests that came up at the subgroup meeting on October 3, 2023: 1. Non-throwing variants of instructions or trap handlers 2. Constant array.new_elem and array.new_data 3....
- [x] Syntax - [X] Heap types (#373) - [x] Type definitions (#377) - [X] Instructions (#373) - [ ] Change syntax of `final` attribute (#413) - [x] Validation -...
Instead of using final? in the syntax, use ext ::= open | final. Implements the design discussed in #413. Update the interpreter, the abstract syntax, the binary and text formats,...
Addresses discussion from #333. With this patch, the keyword `final` in subtypes has been replaced with the keyword `open`: ``` (type $s1 (sub (struct))) ;; final with no super types...
### Purpose of this issue Hi, in [GC-05-16 meeting](https:github.com/WebAssembly/meetings/blob/main/gc/2023/GC-05-16.md) we have introduced our idea of adding `struct.get_indirect` and `struct.set_indirect` opcode to support language semantics like `TypeScript's interface` in WasmGC, we...