summaryrefslogtreecommitdiff
path: root/test/heap-types.wast.fromBinary
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2020-12-11 08:27:43 -0800
committerGitHub <noreply@github.com>2020-12-11 08:27:43 -0800
commite16cf5818de5a6e37ffcbce0bcde320290d9f9f1 (patch)
tree84a8a0d0e1031409501a548e465a89380ce7da80 /test/heap-types.wast.fromBinary
parente1978e0274de74aa9ce5c6bcfa71e03ddadeb685 (diff)
downloadbinaryen-e16cf5818de5a6e37ffcbce0bcde320290d9f9f1.tar.gz
binaryen-e16cf5818de5a6e37ffcbce0bcde320290d9f9f1.tar.bz2
binaryen-e16cf5818de5a6e37ffcbce0bcde320290d9f9f1.zip
[GC] Add ref.test and ref.cast (#3439)
This adds enough to read and write them and test that, but leaves interpreter support for later.
Diffstat (limited to 'test/heap-types.wast.fromBinary')
-rw-r--r--test/heap-types.wast.fromBinary15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/heap-types.wast.fromBinary b/test/heap-types.wast.fromBinary
index 7917d95e0..3e010d25c 100644
--- a/test/heap-types.wast.fromBinary
+++ b/test/heap-types.wast.fromBinary
@@ -2,6 +2,7 @@
(type ${i32_f32_f64} (struct (field i32) (field f32) (field f64)))
(type $[mut:f64] (array (mut f64)))
(type ${} (struct ))
+ (type $none_=>_none (func))
(type ${i32} (struct (field i32)))
(type ${i32_i64} (struct (field i32) (field i64)))
(type ${mut:f32} (struct (field (mut f32))))
@@ -165,5 +166,19 @@
(func $rtt-param-without-depth (param $rtt (rtt ${}))
(nop)
)
+ (func $rtt-operations
+ (drop
+ (ref.test ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|}
+ (ref.null ${i32_f32_f64})
+ (rtt.canon ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|})
+ )
+ )
+ (drop
+ (ref.cast ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|}
+ (ref.null ${i32_f32_f64})
+ (rtt.canon ${i8_mut:i16_ref?|{i32_f32_f64}|_mut:ref?|{i32_f32_f64}|})
+ )
+ )
+ )
)