summaryrefslogtreecommitdiff
path: root/test/lit/exec
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2022-08-04 17:05:54 -0700
committerGitHub <noreply@github.com>2022-08-05 00:05:54 +0000
commit6759371b5239efa3daa9d988455abdd14a8b18ca (patch)
tree0c3a3e371ed742bdbd790f7344ec86e8536bc167 /test/lit/exec
parent9534e6927c41f4a6a5d06d58d00c271c9f066e9a (diff)
downloadbinaryen-6759371b5239efa3daa9d988455abdd14a8b18ca.tar.gz
binaryen-6759371b5239efa3daa9d988455abdd14a8b18ca.tar.bz2
binaryen-6759371b5239efa3daa9d988455abdd14a8b18ca.zip
Remove RTTs (#4848)
RTTs were removed from the GC spec and if they are added back in in the future, they will be heap types rather than value types as in our implementation. Updating our implementation to have RTTs be heap types would have been more work than deleting them for questionable benefit since we don't know how long it will be before they are specced again.
Diffstat (limited to 'test/lit/exec')
-rw-r--r--test/lit/exec/rtts.wast153
1 files changed, 0 insertions, 153 deletions
diff --git a/test/lit/exec/rtts.wast b/test/lit/exec/rtts.wast
deleted file mode 100644
index 7c090f180..000000000
--- a/test/lit/exec/rtts.wast
+++ /dev/null
@@ -1,153 +0,0 @@
-;; NOTE: Assertions have been generated by update_lit_checks.py --output=fuzz-exec and should not be edited.
-
-;; Check that allocation and casting instructions with and without RTTs can be
-;; mixed correctly.
-
-;; RUN: wasm-opt %s -all --fuzz-exec-before -q --structural -o /dev/null 2>&1 \
-;; RUN: | filecheck %s --check-prefix=EQREC
-
-;; RUN: wasm-opt %s -all --fuzz-exec-before -q --nominal -o /dev/null 2>&1 \
-;; RUN: | filecheck %s --check-prefix=NOMNL
-
-(module
- (type $struct (struct_subtype i32 data))
- (type $sub-struct (struct_subtype i32 i32 $struct))
-
- (import "fuzzing-support" "log-i32" (func $log (param i32)))
-
- (global $sub-rtt (rtt 1 $sub-struct)
- (rtt.sub $sub-struct
- (rtt.canon $struct)
- )
- )
-
- (func $make-sub-struct-canon (result (ref $struct))
- (struct.new_default_with_rtt $sub-struct
- (rtt.canon $sub-struct)
- )
- )
-
- (func $make-sub-struct-sub (result (ref $struct))
- (struct.new_default_with_rtt $sub-struct
- (global.get $sub-rtt)
- )
- )
-
- (func $make-sub-struct-static (result (ref $struct))
- (struct.new_default $sub-struct)
- )
-
- ;; EQREC: [fuzz-exec] calling canon-canon
- ;; EQREC-NEXT: [LoggingExternalInterface logging 1]
- ;; NOMNL: [fuzz-exec] calling canon-canon
- ;; NOMNL-NEXT: [LoggingExternalInterface logging 1]
- (func "canon-canon"
- (call $log
- (ref.test
- (call $make-sub-struct-canon)
- (rtt.canon $sub-struct)
- )
- )
- )
-
- ;; EQREC: [fuzz-exec] calling canon-sub
- ;; EQREC-NEXT: [LoggingExternalInterface logging 0]
- ;; NOMNL: [fuzz-exec] calling canon-sub
- ;; NOMNL-NEXT: [LoggingExternalInterface logging 1]
- (func "canon-sub"
- (call $log
- (ref.test
- (call $make-sub-struct-canon)
- (global.get $sub-rtt)
- )
- )
- )
-
- ;; EQREC: [fuzz-exec] calling canon-static
- ;; EQREC-NEXT: [LoggingExternalInterface logging 1]
- ;; NOMNL: [fuzz-exec] calling canon-static
- ;; NOMNL-NEXT: [LoggingExternalInterface logging 1]
- (func "canon-static"
- (call $log
- (ref.test_static $sub-struct
- (call $make-sub-struct-canon)
- )
- )
- )
-
- ;; EQREC: [fuzz-exec] calling sub-canon
- ;; EQREC-NEXT: [LoggingExternalInterface logging 0]
- ;; NOMNL: [fuzz-exec] calling sub-canon
- ;; NOMNL-NEXT: [LoggingExternalInterface logging 1]
- (func "sub-canon"
- (call $log
- (ref.test
- (call $make-sub-struct-sub)
- (rtt.canon $sub-struct)
- )
- )
- )
-
- ;; EQREC: [fuzz-exec] calling sub-sub
- ;; EQREC-NEXT: [LoggingExternalInterface logging 1]
- ;; NOMNL: [fuzz-exec] calling sub-sub
- ;; NOMNL-NEXT: [LoggingExternalInterface logging 1]
- (func "sub-sub"
- (call $log
- (ref.test
- (call $make-sub-struct-sub)
- (global.get $sub-rtt)
- )
- )
- )
-
- ;; EQREC: [fuzz-exec] calling sub-static
- ;; EQREC-NEXT: [LoggingExternalInterface logging 0]
- ;; NOMNL: [fuzz-exec] calling sub-static
- ;; NOMNL-NEXT: [LoggingExternalInterface logging 1]
- (func "sub-static"
- (call $log
- (ref.test_static $sub-struct
- (call $make-sub-struct-sub)
- )
- )
- )
-
- ;; EQREC: [fuzz-exec] calling static-canon
- ;; EQREC-NEXT: [LoggingExternalInterface logging 1]
- ;; NOMNL: [fuzz-exec] calling static-canon
- ;; NOMNL-NEXT: [LoggingExternalInterface logging 1]
- (func "static-canon"
- (call $log
- (ref.test
- (call $make-sub-struct-static)
- (rtt.canon $sub-struct)
- )
- )
- )
-
- ;; EQREC: [fuzz-exec] calling static-sub
- ;; EQREC-NEXT: [LoggingExternalInterface logging 0]
- ;; NOMNL: [fuzz-exec] calling static-sub
- ;; NOMNL-NEXT: [LoggingExternalInterface logging 1]
- (func "static-sub"
- (call $log
- (ref.test
- (call $make-sub-struct-static)
- (global.get $sub-rtt)
- )
- )
- )
-
- ;; EQREC: [fuzz-exec] calling static-static
- ;; EQREC-NEXT: [LoggingExternalInterface logging 1]
- ;; NOMNL: [fuzz-exec] calling static-static
- ;; NOMNL-NEXT: [LoggingExternalInterface logging 1]
- (func "static-static"
- (call $log
- (ref.test_static $sub-struct
- (call $make-sub-struct-static)
- )
- )
- )
-)