You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 25, 2025. It is now read-only.
Copy file name to clipboardExpand all lines: proposals/gc/MVP.md
+38-4Lines changed: 38 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -436,11 +436,13 @@ This can compile to machine code that (1) reads the RTT from `$x`, (2) checks th
436
436
*`struct.new_with_rtt <typeidx>` allocates a structure with RTT information determining its [runtime type](#values) and initialises its fields with given values
- the 1st operand is the `offset` into the segment
495
+
- the 2nd operand is the `size` of the array
496
+
- traps if `offset + size > len($e)`
497
+
- note: for now, this is _not_ a constant instruction, in order to side-step issues of recursion between binary sections; this restriction will be lifted later
469
498
470
499
*`array.get_<sx>? <typeidx>` reads an element from an array
@@ -772,8 +808,6 @@ See [GC JS API document](MVP-JS.md) .
772
808
773
809
* Make rtt operands nullable?
774
810
775
-
* Make `i31.new` a constant instruction. Others too?
776
-
777
811
* Enable `i31` as a type definition.
778
812
779
813
* Should reference types be generalised to *unions*, e.g., of the form `(ref null? i31? data? func? extern? $t?)`? Perhaps even allowing multiple concrete types?
Copy file name to clipboardExpand all lines: proposals/gc/Post-MVP.md
+42-9Lines changed: 42 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,17 +36,50 @@ To that end, _bulk copying_ instructions could be added, similar to the [bulk in
36
36
-`struct.copy $d : [(ref $d) (ref $s)] -> []` where both `$d` and `$s` are struct types, `$d` has only mutable fields, and `$s <: $d` modulo mutability
0 commit comments