summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/example/c-api-kitchen-sink.c117
-rw-r--r--test/example/c-api-kitchen-sink.txt99
-rw-r--r--test/lit/passes/simplify-locals-strings.wast404
-rw-r--r--test/lit/strings.wast282
-rw-r--r--test/lit/wat-kitchen-sink.wast349
5 files changed, 162 insertions, 1089 deletions
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c
index 1b78ea1e7..5fb71b4d6 100644
--- a/test/example/c-api-kitchen-sink.c
+++ b/test/example/c-api-kitchen-sink.c
@@ -1170,82 +1170,17 @@ void test_core() {
makeInt32(module, 2)),
// Strings
BinaryenStringNew(module,
- BinaryenStringNewUTF8(),
- makeInt32(module, 0),
- makeInt32(module, 0),
- 0,
- 0,
- false),
- BinaryenStringNew(module,
- BinaryenStringNewUTF8(),
- makeInt32(module, 0),
- makeInt32(module, 0),
- 0,
- 0,
- true),
- BinaryenStringNew(module,
- BinaryenStringNewWTF8(),
- makeInt32(module, 0),
- makeInt32(module, 0),
- 0,
- 0,
- false),
- BinaryenStringNew(module,
- BinaryenStringNewLossyUTF8(),
- makeInt32(module, 0),
- makeInt32(module, 0),
- 0,
- 0,
- false),
- BinaryenStringNew(module,
- BinaryenStringNewWTF16(),
- makeInt32(module, 0),
- makeInt32(module, 0),
- 0,
- 0,
- false),
- BinaryenStringNew(module,
- BinaryenStringNewUTF8Array(),
- BinaryenGlobalGet(module, "i8Array-global", i8Array),
- 0,
- makeInt32(module, 0),
- makeInt32(module, 0),
- false),
- BinaryenStringNew(module,
- BinaryenStringNewUTF8Array(),
- BinaryenGlobalGet(module, "i8Array-global", i8Array),
- 0,
- makeInt32(module, 0),
- makeInt32(module, 0),
- true),
- BinaryenStringNew(module,
- BinaryenStringNewWTF8Array(),
- BinaryenGlobalGet(module, "i8Array-global", i8Array),
- 0,
- makeInt32(module, 0),
- makeInt32(module, 0),
- false),
- BinaryenStringNew(module,
BinaryenStringNewLossyUTF8Array(),
BinaryenGlobalGet(module, "i8Array-global", i8Array),
- 0,
- makeInt32(module, 0),
makeInt32(module, 0),
- false),
+ makeInt32(module, 0)),
BinaryenStringNew(module,
BinaryenStringNewWTF16Array(),
BinaryenGlobalGet(module, "i16Array-global", i8Array),
- 0,
- makeInt32(module, 0),
makeInt32(module, 0),
- false),
- BinaryenStringNew(module,
- BinaryenStringNewFromCodePoint(),
- makeInt32(module, 1),
- 0,
- 0,
- 0,
- false),
+ makeInt32(module, 0)),
+ BinaryenStringNew(
+ module, BinaryenStringNewFromCodePoint(), makeInt32(module, 1), 0, 0),
BinaryenStringConst(module, "hello world"),
BinaryenStringMeasure(
module,
@@ -1253,46 +1188,8 @@ void test_core() {
BinaryenGlobalGet(module, "string-global", BinaryenTypeStringref())),
BinaryenStringMeasure(
module,
- BinaryenStringMeasureWTF8(),
- BinaryenGlobalGet(module, "string-global", BinaryenTypeStringref())),
- BinaryenStringMeasure(
- module,
BinaryenStringMeasureWTF16(),
BinaryenGlobalGet(module, "string-global", BinaryenTypeStringref())),
- BinaryenStringMeasure(
- module,
- BinaryenStringMeasureIsUSV(),
- BinaryenGlobalGet(module, "string-global", BinaryenTypeStringref())),
- BinaryenStringEncode(
- module,
- BinaryenStringEncodeUTF8(),
- BinaryenGlobalGet(module, "string-global", BinaryenTypeStringref()),
- makeInt32(module, 0),
- 0),
- BinaryenStringEncode(
- module,
- BinaryenStringEncodeLossyUTF8(),
- BinaryenGlobalGet(module, "string-global", BinaryenTypeStringref()),
- makeInt32(module, 0),
- 0),
- BinaryenStringEncode(
- module,
- BinaryenStringEncodeWTF8(),
- BinaryenGlobalGet(module, "string-global", BinaryenTypeStringref()),
- makeInt32(module, 0),
- 0),
- BinaryenStringEncode(
- module,
- BinaryenStringEncodeWTF16(),
- BinaryenGlobalGet(module, "string-global", BinaryenTypeStringref()),
- makeInt32(module, 0),
- 0),
- BinaryenStringEncode(
- module,
- BinaryenStringEncodeUTF8Array(),
- BinaryenGlobalGet(module, "string-global", BinaryenTypeStringref()),
- BinaryenGlobalGet(module, "i8Array-global", i8Array),
- makeInt32(module, 0)),
BinaryenStringEncode(
module,
BinaryenStringEncodeLossyUTF8Array(),
@@ -1301,12 +1198,6 @@ void test_core() {
makeInt32(module, 0)),
BinaryenStringEncode(
module,
- BinaryenStringEncodeWTF8Array(),
- BinaryenGlobalGet(module, "string-global", BinaryenTypeStringref()),
- BinaryenGlobalGet(module, "i8Array-global", i8Array),
- makeInt32(module, 0)),
- BinaryenStringEncode(
- module,
BinaryenStringEncodeWTF16Array(),
BinaryenGlobalGet(module, "string-global", BinaryenTypeStringref()),
BinaryenGlobalGet(module, "i16Array-global", i16Array),
diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt
index e10c3b47b..7231ded9a 100644
--- a/test/example/c-api-kitchen-sink.txt
+++ b/test/example/c-api-kitchen-sink.txt
@@ -2337,57 +2337,6 @@ BinaryenFeatureAll: 131071
(i32.const 2)
)
(drop
- (string.new_utf8
- (i32.const 0)
- (i32.const 0)
- )
- )
- (drop
- (string.new_utf8_try
- (i32.const 0)
- (i32.const 0)
- )
- )
- (drop
- (string.new_wtf8
- (i32.const 0)
- (i32.const 0)
- )
- )
- (drop
- (string.new_lossy_utf8
- (i32.const 0)
- (i32.const 0)
- )
- )
- (drop
- (string.new_wtf16
- (i32.const 0)
- (i32.const 0)
- )
- )
- (drop
- (string.new_utf8_array
- (global.get $i8Array-global)
- (i32.const 0)
- (i32.const 0)
- )
- )
- (drop
- (string.new_utf8_array_try
- (global.get $i8Array-global)
- (i32.const 0)
- (i32.const 0)
- )
- )
- (drop
- (string.new_wtf8_array
- (global.get $i8Array-global)
- (i32.const 0)
- (i32.const 0)
- )
- )
- (drop
(string.new_lossy_utf8_array
(global.get $i8Array-global)
(i32.const 0)
@@ -2415,52 +2364,11 @@ BinaryenFeatureAll: 131071
)
)
(drop
- (string.measure_wtf8
- (global.get $string-global)
- )
- )
- (drop
(string.measure_wtf16
(global.get $string-global)
)
)
(drop
- (string.is_usv_sequence
- (global.get $string-global)
- )
- )
- (drop
- (string.encode_utf8
- (global.get $string-global)
- (i32.const 0)
- )
- )
- (drop
- (string.encode_lossy_utf8
- (global.get $string-global)
- (i32.const 0)
- )
- )
- (drop
- (string.encode_wtf8
- (global.get $string-global)
- (i32.const 0)
- )
- )
- (drop
- (string.encode_wtf16
- (global.get $string-global)
- (i32.const 0)
- )
- )
- (drop
- (string.encode_utf8_array
- (global.get $string-global)
- (global.get $i8Array-global)
- (i32.const 0)
- )
- )
- (drop
(string.encode_lossy_utf8_array
(global.get $string-global)
(global.get $i8Array-global)
@@ -2468,13 +2376,6 @@ BinaryenFeatureAll: 131071
)
)
(drop
- (string.encode_wtf8_array
- (global.get $string-global)
- (global.get $i8Array-global)
- (i32.const 0)
- )
- )
- (drop
(string.encode_wtf16_array
(global.get $string-global)
(global.get $i16Array-global)
diff --git a/test/lit/passes/simplify-locals-strings.wast b/test/lit/passes/simplify-locals-strings.wast
index d03875652..b4b2adc88 100644
--- a/test/lit/passes/simplify-locals-strings.wast
+++ b/test/lit/passes/simplify-locals-strings.wast
@@ -10,185 +10,9 @@
;; CHECK: (type $array16 (sub (array (mut i16))))
(type $array16 (sub (array (mut i16))))
- ;; CHECK: (func $no-new-past-store (type $1)
+ ;; CHECK: (func $no-new-past-store (type $2) (param $array (ref $array)) (param $array16 (ref $array16))
;; CHECK-NEXT: (local $temp stringref)
;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (string.new_utf8
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: (i32.const 2)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (i32.store
- ;; CHECK-NEXT: (i32.const 3)
- ;; CHECK-NEXT: (i32.const 4)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $temp)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (string.new_wtf8
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: (i32.const 2)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (i32.store
- ;; CHECK-NEXT: (i32.const 3)
- ;; CHECK-NEXT: (i32.const 4)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $temp)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (string.new_lossy_utf8
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: (i32.const 2)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (i32.store
- ;; CHECK-NEXT: (i32.const 3)
- ;; CHECK-NEXT: (i32.const 4)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $temp)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (string.new_wtf16
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: (i32.const 2)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (i32.store
- ;; CHECK-NEXT: (i32.const 3)
- ;; CHECK-NEXT: (i32.const 4)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $temp)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- (func $no-new-past-store
- (local $temp stringref)
- ;; A string.new cannot be moved past a memory store.
- (local.set $temp
- (string.new_utf8
- (i32.const 1)
- (i32.const 2)
- )
- )
- (i32.store
- (i32.const 3)
- (i32.const 4)
- )
- (drop
- (local.get $temp)
- )
- (local.set $temp
- (string.new_wtf8
- (i32.const 1)
- (i32.const 2)
- )
- )
- (i32.store
- (i32.const 3)
- (i32.const 4)
- )
- (drop
- (local.get $temp)
- )
- (local.set $temp
- (string.new_lossy_utf8
- (i32.const 1)
- (i32.const 2)
- )
- )
- (i32.store
- (i32.const 3)
- (i32.const 4)
- )
- (drop
- (local.get $temp)
- )
- (local.set $temp
- (string.new_wtf16
- (i32.const 1)
- (i32.const 2)
- )
- )
- (i32.store
- (i32.const 3)
- (i32.const 4)
- )
- (drop
- (local.get $temp)
- )
- )
-
- ;; CHECK: (func $yes-new-past-store (type $1)
- ;; CHECK-NEXT: (local $temp stringref)
- ;; CHECK-NEXT: (nop)
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (i32.load
- ;; CHECK-NEXT: (i32.const 3)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_utf8
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: (i32.const 2)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- (func $yes-new-past-store
- (local $temp stringref)
- ;; A string.new can be moved past a memory load.
- (local.set $temp
- (string.new_utf8
- (i32.const 1)
- (i32.const 2)
- )
- )
- (drop
- (i32.load
- (i32.const 3)
- )
- )
- (drop
- (local.get $temp)
- )
- )
-
- ;; CHECK: (func $no-new-past-store-gc (type $3) (param $array (ref $array)) (param $array16 (ref $array16))
- ;; CHECK-NEXT: (local $temp stringref)
- ;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (string.new_utf8_array
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: (i32.const 2)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (array.set $array
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 3)
- ;; CHECK-NEXT: (i32.const 4)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $temp)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (string.new_wtf8_array
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: (i32.const 2)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (array.set $array
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 3)
- ;; CHECK-NEXT: (i32.const 4)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $temp)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (local.set $temp
;; CHECK-NEXT: (string.new_lossy_utf8_array
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 1)
@@ -219,40 +43,10 @@
;; CHECK-NEXT: (local.get $temp)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
- (func $no-new-past-store-gc (param $array (ref $array)) (param $array16 (ref $array16))
+ (func $no-new-past-store (param $array (ref $array)) (param $array16 (ref $array16))
(local $temp stringref)
;; A string.new_***_array cannot be moved past a GC store.
(local.set $temp
- (string.new_utf8_array
- (local.get $array)
- (i32.const 1)
- (i32.const 2)
- )
- )
- (array.set $array
- (local.get $array)
- (i32.const 3)
- (i32.const 4)
- )
- (drop
- (local.get $temp)
- )
- (local.set $temp
- (string.new_wtf8_array
- (local.get $array)
- (i32.const 1)
- (i32.const 2)
- )
- )
- (array.set $array
- (local.get $array)
- (i32.const 3)
- (i32.const 4)
- )
- (drop
- (local.get $temp)
- )
- (local.set $temp
(string.new_lossy_utf8_array
(local.get $array)
(i32.const 1)
@@ -284,119 +78,37 @@
)
)
- ;; CHECK: (func $no-load-past-encode (type $4) (param $ref stringref)
- ;; CHECK-NEXT: (local $temp i32)
- ;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (i32.load
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf8
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: (i32.const 10)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $temp)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (i32.load
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_utf8
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: (i32.const 20)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $temp)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (i32.load
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
+ ;; CHECK: (func $yes-new-past-load (type $3) (param $array16 (ref $array16))
+ ;; CHECK-NEXT: (local $temp stringref)
+ ;; CHECK-NEXT: (nop)
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_lossy_utf8
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: (i32.const 30)
+ ;; CHECK-NEXT: (array.get_u $array16
+ ;; CHECK-NEXT: (local.get $array16)
+ ;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $temp)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (string.new_wtf16_array
+ ;; CHECK-NEXT: (local.get $array16)
;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (i32.const 2)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf16
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: (i32.const 40)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $temp)
- ;; CHECK-NEXT: )
;; CHECK-NEXT: )
- (func $no-load-past-encode (param $ref stringref)
- (local $temp i32)
- ;; string.encode writes to memory, so a load can't be moved past it.
- (local.set $temp
- (i32.load
- (i32.const 1)
- )
- )
- (drop
- (string.encode_wtf8
- (local.get $ref)
- (i32.const 10)
- )
- )
- (drop
- (local.get $temp)
- )
- (local.set $temp
- (i32.load
- (i32.const 1)
- )
- )
- (drop
- (string.encode_utf8
- (local.get $ref)
- (i32.const 20)
- )
- )
- (drop
- (local.get $temp)
- )
- (local.set $temp
- (i32.load
- (i32.const 1)
- )
- )
- (drop
- (string.encode_lossy_utf8
- (local.get $ref)
- (i32.const 30)
- )
- )
- (drop
- (local.get $temp)
- )
+ (func $yes-new-past-load (param $array16 (ref $array16))
+ (local $temp stringref)
+ ;; A string.new can be moved past an array load.
(local.set $temp
- (i32.load
+ (string.new_wtf16_array
+ (local.get $array16)
(i32.const 1)
+ (i32.const 2)
)
)
(drop
- (string.encode_wtf16
- (local.get $ref)
- (i32.const 40)
+ (array.get $array16
+ (local.get $array16)
+ (i32.const 0)
)
)
(drop
@@ -404,7 +116,7 @@
)
)
- ;; CHECK: (func $no-load-past-encode-gc (type $5) (param $ref stringref) (param $array (ref $array)) (param $array16 (ref $array16))
+ ;; CHECK: (func $no-load-past-encode (type $4) (param $ref stringref) (param $array (ref $array)) (param $array16 (ref $array16))
;; CHECK-NEXT: (local $temp i32)
;; CHECK-NEXT: (local.set $temp
;; CHECK-NEXT: (array.get_u $array
@@ -413,42 +125,10 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf8_array
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 10)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $temp)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (array.get_u $array
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 0)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_utf8_array
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 20)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get $temp)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (array.get_u $array
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 0)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
;; CHECK-NEXT: (string.encode_lossy_utf8_array
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 30)
+ ;; CHECK-NEXT: (i32.const 10)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
@@ -464,14 +144,14 @@
;; CHECK-NEXT: (string.encode_wtf16_array
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (local.get $array16)
- ;; CHECK-NEXT: (i32.const 40)
+ ;; CHECK-NEXT: (i32.const 20)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (local.get $temp)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
- (func $no-load-past-encode-gc (param $ref stringref) (param $array (ref $array)) (param $array16 (ref $array16))
+ (func $no-load-past-encode (param $ref stringref) (param $array (ref $array)) (param $array16 (ref $array16))
(local $temp i32)
;; string.encode_*_array writes to an array, so an array get can't be moved
;; past it.
@@ -482,42 +162,10 @@
)
)
(drop
- (string.encode_wtf8_array
- (local.get $ref)
- (local.get $array)
- (i32.const 10)
- )
- )
- (drop
- (local.get $temp)
- )
- (local.set $temp
- (array.get $array
- (local.get $array)
- (i32.const 0)
- )
- )
- (drop
- (string.encode_utf8_array
- (local.get $ref)
- (local.get $array)
- (i32.const 20)
- )
- )
- (drop
- (local.get $temp)
- )
- (local.set $temp
- (array.get $array
- (local.get $array)
- (i32.const 0)
- )
- )
- (drop
(string.encode_lossy_utf8_array
(local.get $ref)
(local.get $array)
- (i32.const 30)
+ (i32.const 10)
)
)
(drop
@@ -533,7 +181,7 @@
(string.encode_wtf16_array
(local.get $ref)
(local.get $array16)
- (i32.const 40)
+ (i32.const 20)
)
)
(drop
diff --git a/test/lit/strings.wast b/test/lit/strings.wast
index c06a3ead4..8c72ea7cc 100644
--- a/test/lit/strings.wast
+++ b/test/lit/strings.wast
@@ -14,91 +14,29 @@
(module
(memory 10 10)
- ;; CHECK: (type $0 (func (param stringref)))
-
- ;; CHECK: (type $1 (func (param stringref stringref)))
+ ;; CHECK: (type $0 (func (param stringref stringref)))
;; CHECK: (type $array (sub (array (mut i8))))
(type $array (sub (array (mut i8))))
;; CHECK: (type $array16 (sub (array (mut i16))))
(type $array16 (sub (array (mut i16))))
- ;; CHECK: (type $4 (func (param stringref stringref (ref string))))
-
- ;; CHECK: (type $5 (func (param (ref string))))
-
- ;; CHECK: (type $6 (func (param (ref $array) (ref $array16))))
+ ;; CHECK: (type $3 (func (param (ref string))))
- ;; CHECK: (type $7 (func (param stringref (ref $array) (ref $array16))))
+ ;; CHECK: (type $4 (func (param stringref)))
- ;; CHECK: (type $8 (func))
+ ;; CHECK: (type $5 (func (param (ref $array) (ref $array16))))
- ;; CHECK: (type $9 (func (param (ref $array))))
+ ;; CHECK: (type $6 (func (param stringref (ref $array) (ref $array16))))
- ;; CHECK: (type $10 (func (param stringref) (result i32)))
+ ;; CHECK: (type $7 (func))
;; CHECK: (global $string-const stringref (string.const "string in a global \c2\a3_\e2\82\ac_\f0\90\8d\88 \01\00\t\t\n\n\r\r\"\"\'\'\\\\ "))
(global $string-const stringref (string.const "string in a global \C2\A3_\E2\82\AC_\F0\90\8D\88 \01\00\t\t\n\n\r\r\"\"\'\'\\\\ "))
;; CHECK: (memory $0 10 10)
- ;; CHECK: (func $string.new (type $4) (param $a stringref) (param $b stringref) (param $c (ref string))
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_wtf16
- ;; CHECK-NEXT: (i32.const 7)
- ;; CHECK-NEXT: (i32.const 8)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_utf8
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: (i32.const 2)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_wtf8
- ;; CHECK-NEXT: (i32.const 3)
- ;; CHECK-NEXT: (i32.const 4)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_lossy_utf8
- ;; CHECK-NEXT: (i32.const 5)
- ;; CHECK-NEXT: (i32.const 6)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- (func $string.new
- (param $a stringref)
- (param $b (ref null string))
- (param $c (ref string))
- (drop
- (string.new_wtf16
- (i32.const 7)
- (i32.const 8)
- )
- )
- (drop
- (string.new_utf8
- (i32.const 1)
- (i32.const 2)
- )
- )
- (drop
- (string.new_wtf8
- (i32.const 3)
- (i32.const 4)
- )
- )
- (drop
- (string.new_lossy_utf8
- (i32.const 5)
- (i32.const 6)
- )
- )
- )
-
- ;; CHECK: (func $string.const (type $5) (param $param (ref string))
+ ;; CHECK: (func $string.const (type $3) (param $param (ref string))
;; CHECK-NEXT: (call $string.const
;; CHECK-NEXT: (string.const "foo")
;; CHECK-NEXT: )
@@ -122,20 +60,15 @@
)
)
- ;; CHECK: (func $string.measure (type $0) (param $ref stringref)
+ ;; CHECK: (func $string.measure (type $4) (param $ref stringref)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i32.eqz
- ;; CHECK-NEXT: (string.measure_wtf8
+ ;; CHECK-NEXT: (string.measure_wtf16
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.measure_wtf16
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
;; CHECK-NEXT: (string.measure_utf8
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: )
@@ -144,85 +77,19 @@
(func $string.measure (param $ref stringref)
(drop
(i32.eqz ;; validate the output is i32
- (string.measure_wtf8
+ (string.measure_wtf16
(local.get $ref)
)
)
)
(drop
- (string.measure_wtf16
- (local.get $ref)
- )
- )
- (drop
(string.measure_utf8
(local.get $ref)
)
)
)
- ;; CHECK: (func $string.encode (type $0) (param $ref stringref)
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (i32.eqz
- ;; CHECK-NEXT: (string.encode_wtf8
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: (i32.const 10)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (i32.eqz
- ;; CHECK-NEXT: (string.encode_lossy_utf8
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: (i32.const 10)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf16
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: (i32.const 30)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_utf8
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: (i32.const 20)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- (func $string.encode (param $ref stringref)
- (drop
- (i32.eqz ;; validate the output is i32
- (string.encode_wtf8
- (local.get $ref)
- (i32.const 10)
- )
- )
- )
- (drop
- (i32.eqz ;; validate the output is i32
- (string.encode_lossy_utf8
- (local.get $ref)
- (i32.const 10)
- )
- )
- )
- (drop
- (string.encode_wtf16
- (local.get $ref)
- (i32.const 30)
- )
- )
- (drop
- (string.encode_utf8
- (local.get $ref)
- (i32.const 20)
- )
- )
- )
-
- ;; CHECK: (func $string.concat (type $1) (param $a stringref) (param $b stringref)
+ ;; CHECK: (func $string.concat (type $0) (param $a stringref) (param $b stringref)
;; CHECK-NEXT: (local.set $a
;; CHECK-NEXT: (string.concat
;; CHECK-NEXT: (local.get $a)
@@ -239,7 +106,7 @@
)
)
- ;; CHECK: (func $string.eq (type $1) (param $a stringref) (param $b stringref)
+ ;; CHECK: (func $string.eq (type $0) (param $a stringref) (param $b stringref)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (string.eq
@@ -260,7 +127,7 @@
)
)
- ;; CHECK: (func $string.compare (type $1) (param $a stringref) (param $b stringref)
+ ;; CHECK: (func $string.compare (type $0) (param $a stringref) (param $b stringref)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (string.compare
@@ -281,26 +148,7 @@
)
)
- ;; CHECK: (func $string.is_usv_sequence (type $0) (param $ref stringref)
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (i32.eqz
- ;; CHECK-NEXT: (string.is_usv_sequence
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- (func $string.is_usv_sequence (param $ref stringref)
- (drop
- (i32.eqz ;; validate the output is i32
- (string.is_usv_sequence
- (local.get $ref)
- )
- )
- )
- )
-
- ;; CHECK: (func $string.new.gc (type $6) (param $array (ref $array)) (param $array16 (ref $array16))
+ ;; CHECK: (func $string.new.gc (type $5) (param $array (ref $array)) (param $array16 (ref $array16))
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (string.new_wtf16_array
;; CHECK-NEXT: (local.get $array16)
@@ -309,20 +157,6 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_utf8_array
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: (i32.const 2)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_wtf8_array
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 3)
- ;; CHECK-NEXT: (i32.const 4)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
;; CHECK-NEXT: (string.new_lossy_utf8_array
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 5)
@@ -339,20 +173,6 @@
)
)
(drop
- (string.new_utf8_array
- (local.get $array)
- (i32.const 1)
- (i32.const 2)
- )
- )
- (drop
- (string.new_wtf8_array
- (local.get $array)
- (i32.const 3)
- (i32.const 4)
- )
- )
- (drop
(string.new_lossy_utf8_array
(local.get $array)
(i32.const 5)
@@ -361,7 +181,7 @@
)
)
- ;; CHECK: (func $string.encode.gc (type $7) (param $ref stringref) (param $array (ref $array)) (param $array16 (ref $array16))
+ ;; CHECK: (func $string.encode.gc (type $6) (param $ref stringref) (param $array (ref $array)) (param $array16 (ref $array16))
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i32.eqz
;; CHECK-NEXT: (string.encode_wtf16_array
@@ -372,26 +192,12 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf8_array
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 10)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
;; CHECK-NEXT: (string.encode_lossy_utf8_array
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 10)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_utf8_array
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 20)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $string.encode.gc (param $ref stringref) (param $array (ref $array)) (param $array16 (ref $array16))
(drop
@@ -404,29 +210,15 @@
)
)
(drop
- (string.encode_wtf8_array
- (local.get $ref)
- (local.get $array)
- (i32.const 10)
- )
- )
- (drop
(string.encode_lossy_utf8_array
(local.get $ref)
(local.get $array)
(i32.const 10)
)
)
- (drop
- (string.encode_utf8_array
- (local.get $ref)
- (local.get $array)
- (i32.const 20)
- )
- )
)
- ;; CHECK: (func $string.from_code_point (type $8)
+ ;; CHECK: (func $string.from_code_point (type $7)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (string.from_code_point
;; CHECK-NEXT: (i32.const 1)
@@ -440,46 +232,4 @@
)
)
)
-
- ;; CHECK: (func $string.new_try (type $9) (param $array (ref $array))
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_utf8_try
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: (i32.const 2)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_utf8_array_try
- ;; CHECK-NEXT: (local.get $array)
- ;; CHECK-NEXT: (i32.const 3)
- ;; CHECK-NEXT: (i32.const 4)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- (func $string.new_try (param $array (ref $array))
- (drop
- (string.new_utf8_try
- (i32.const 1)
- (i32.const 2)
- )
- )
- (drop
- (string.new_utf8_array_try
- (local.get $array)
- (i32.const 3)
- (i32.const 4)
- )
- )
- )
-
- ;; CHECK: (func $string.hash (type $10) (param $ref stringref) (result i32)
- ;; CHECK-NEXT: (string.hash
- ;; CHECK-NEXT: (local.get $ref)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- (func $string.hash (param $ref stringref) (result i32)
- (string.hash
- (local.get $ref)
- )
- )
)
diff --git a/test/lit/wat-kitchen-sink.wast b/test/lit/wat-kitchen-sink.wast
index 68c881a62..f4b5dc16c 100644
--- a/test/lit/wat-kitchen-sink.wast
+++ b/test/lit/wat-kitchen-sink.wast
@@ -70,121 +70,117 @@
;; CHECK: (type $any-array (array (mut anyref)))
- ;; CHECK: (type $29 (func (param stringref)))
+ ;; CHECK: (type $29 (func (param stringref stringref) (result i32)))
- ;; CHECK: (type $30 (func (param stringref stringref) (result i32)))
+ ;; CHECK: (type $30 (func (param i64 v128) (result v128)))
- ;; CHECK: (type $31 (func (param i64 v128) (result v128)))
-
- ;; CHECK: (type $32 (func (param i64 v128)))
+ ;; CHECK: (type $31 (func (param i64 v128)))
;; CHECK: (type $cont-bind-before-func (func (param i32 i64 i32 i64) (result f32)))
;; CHECK: (type $cont-bind-before (cont $cont-bind-before-func))
- ;; CHECK: (type $35 (func (result structref arrayref)))
-
- ;; CHECK: (type $36 (func (result arrayref structref)))
+ ;; CHECK: (type $34 (func (result structref arrayref)))
- ;; CHECK: (type $37 (func (result i32 i64 (ref null $simple-cont))))
+ ;; CHECK: (type $35 (func (result arrayref structref)))
- ;; CHECK: (type $38 (func (param i32 i32)))
+ ;; CHECK: (type $36 (func (result i32 i64 (ref null $simple-cont))))
- ;; CHECK: (type $39 (func (param exnref)))
+ ;; CHECK: (type $37 (func (param i32 i32)))
- ;; CHECK: (type $40 (func (result anyref anyref)))
+ ;; CHECK: (type $38 (func (param exnref)))
- ;; CHECK: (type $41 (func (param i32 i32 f64 f64)))
+ ;; CHECK: (type $39 (func (result anyref anyref)))
- ;; CHECK: (type $42 (func (param i64)))
+ ;; CHECK: (type $40 (func (param i32 i32 f64 f64)))
- ;; CHECK: (type $43 (func (param v128) (result i32)))
+ ;; CHECK: (type $41 (func (param i64)))
- ;; CHECK: (type $44 (func (param v128 v128) (result v128)))
+ ;; CHECK: (type $42 (func (param v128) (result i32)))
- ;; CHECK: (type $45 (func (param v128 v128 v128) (result v128)))
+ ;; CHECK: (type $43 (func (param v128 v128) (result v128)))
- ;; CHECK: (type $46 (func (param i32 i32 i64 i64)))
+ ;; CHECK: (type $44 (func (param v128 v128 v128) (result v128)))
- ;; CHECK: (type $47 (func (param i64) (result i32 i64)))
+ ;; CHECK: (type $45 (func (param i32 i32 i64 i64)))
- ;; CHECK: (type $48 (func (param anyref) (result i32)))
+ ;; CHECK: (type $46 (func (param i64) (result i32 i64)))
- ;; CHECK: (type $49 (func (param eqref eqref) (result i32)))
+ ;; CHECK: (type $47 (func (param anyref) (result i32)))
- ;; CHECK: (type $50 (func (param i32) (result i31ref)))
+ ;; CHECK: (type $48 (func (param eqref eqref) (result i32)))
- ;; CHECK: (type $51 (func (param i31ref)))
+ ;; CHECK: (type $49 (func (param i32) (result i31ref)))
- ;; CHECK: (type $52 (func (param i32 i64) (result (ref $pair))))
+ ;; CHECK: (type $50 (func (param i31ref)))
- ;; CHECK: (type $53 (func (result (ref $pair))))
+ ;; CHECK: (type $51 (func (param i32 i64) (result (ref $pair))))
- ;; CHECK: (type $54 (func (param (ref $pair)) (result i32)))
+ ;; CHECK: (type $52 (func (result (ref $pair))))
- ;; CHECK: (type $55 (func (param (ref $pair)) (result i64)))
+ ;; CHECK: (type $53 (func (param (ref $pair)) (result i32)))
- ;; CHECK: (type $56 (func (param (ref null $pair)) (result i32)))
+ ;; CHECK: (type $54 (func (param (ref $pair)) (result i64)))
- ;; CHECK: (type $57 (func (param (ref $pair) i32)))
+ ;; CHECK: (type $55 (func (param (ref null $pair)) (result i32)))
- ;; CHECK: (type $58 (func (param (ref $pair) i64)))
+ ;; CHECK: (type $56 (func (param (ref $pair) i32)))
- ;; CHECK: (type $59 (func (param (ref null $pair) i64)))
+ ;; CHECK: (type $57 (func (param (ref $pair) i64)))
- ;; CHECK: (type $60 (func (param i64 i32) (result (ref $a1))))
+ ;; CHECK: (type $58 (func (param (ref null $pair) i64)))
- ;; CHECK: (type $61 (func (param i32) (result (ref $a1))))
+ ;; CHECK: (type $59 (func (param i64 i32) (result (ref $a1))))
- ;; CHECK: (type $62 (func (param i32 i32) (result (ref $a1))))
+ ;; CHECK: (type $60 (func (param i32) (result (ref $a1))))
- ;; CHECK: (type $63 (func (param (ref $a1) i32) (result i64)))
+ ;; CHECK: (type $61 (func (param i32 i32) (result (ref $a1))))
- ;; CHECK: (type $64 (func (param (ref $packed-i8) i32) (result i32)))
+ ;; CHECK: (type $62 (func (param (ref $a1) i32) (result i64)))
- ;; CHECK: (type $65 (func (param (ref $packed-i16) i32) (result i32)))
+ ;; CHECK: (type $63 (func (param (ref $packed-i8) i32) (result i32)))
- ;; CHECK: (type $66 (func (param (ref $a2) i32 f32)))
+ ;; CHECK: (type $64 (func (param (ref $packed-i16) i32) (result i32)))
- ;; CHECK: (type $67 (func (param arrayref) (result i32)))
+ ;; CHECK: (type $65 (func (param (ref $a2) i32 f32)))
- ;; CHECK: (type $68 (func (param (ref $a2) i32 (ref $a2) i32 i32)))
+ ;; CHECK: (type $66 (func (param arrayref) (result i32)))
- ;; CHECK: (type $69 (func (param (ref $a2) i32 f32 i32)))
+ ;; CHECK: (type $67 (func (param (ref $a2) i32 (ref $a2) i32 i32)))
- ;; CHECK: (type $70 (func (param (ref $a2) i32 i32 i32)))
+ ;; CHECK: (type $68 (func (param (ref $a2) i32 f32 i32)))
- ;; CHECK: (type $71 (func (param (ref $any-array) i32 i32 i32)))
+ ;; CHECK: (type $69 (func (param (ref $a2) i32 i32 i32)))
- ;; CHECK: (type $72 (func (param externref)))
+ ;; CHECK: (type $70 (func (param (ref $any-array) i32 i32 i32)))
- ;; CHECK: (type $73 (func (param i32 i32) (result stringref)))
+ ;; CHECK: (type $71 (func (param externref)))
- ;; CHECK: (type $74 (func (param (ref $packed-i8) i32 i32) (result stringref)))
+ ;; CHECK: (type $72 (func (param (ref $packed-i8) i32 i32) (result stringref)))
- ;; CHECK: (type $75 (func (param i32) (result stringref)))
+ ;; CHECK: (type $73 (func (param i32) (result stringref)))
- ;; CHECK: (type $76 (func (result (ref string))))
+ ;; CHECK: (type $74 (func (result (ref string))))
- ;; CHECK: (type $77 (func (param stringref) (result i32)))
+ ;; CHECK: (type $75 (func (param stringref)))
- ;; CHECK: (type $78 (func (param stringref (ref $packed-i8) i32) (result i32)))
+ ;; CHECK: (type $76 (func (param stringref (ref $packed-i8) i32) (result i32)))
- ;; CHECK: (type $79 (func (param stringref stringref) (result (ref string))))
+ ;; CHECK: (type $77 (func (param stringref stringref) (result (ref string))))
- ;; CHECK: (type $80 (func (param stringref i32) (result i32)))
+ ;; CHECK: (type $78 (func (param stringref i32) (result i32)))
- ;; CHECK: (type $81 (func (param stringref i32 i32) (result (ref string))))
+ ;; CHECK: (type $79 (func (param stringref i32 i32) (result (ref string))))
- ;; CHECK: (type $82 (func (param (ref $simple-cont))))
+ ;; CHECK: (type $80 (func (param (ref $simple-cont))))
;; CHECK: (type $to-f32 (func (result f32)))
;; CHECK: (type $to-f32-cont (cont $to-f32))
- ;; CHECK: (type $85 (func (param (ref $simple)) (result (ref $simple-cont))))
+ ;; CHECK: (type $83 (func (param (ref $simple)) (result (ref $simple-cont))))
- ;; CHECK: (type $86 (func (param (ref $cont-bind-before)) (result (ref $simple-cont))))
+ ;; CHECK: (type $84 (func (param (ref $cont-bind-before)) (result (ref $simple-cont))))
;; CHECK: (type $s2 (struct (field i32)))
(type $s2 (struct i32))
@@ -257,7 +253,7 @@
;; imported memories
(memory (export "mem") (export "mem2") (import "" "mem") 0)
- ;; CHECK: (type $98 (func (param (ref $s0) (ref $s1) (ref $s2) (ref $s3) (ref $s4) (ref $s5) (ref $s6) (ref $s7) (ref $s8) (ref $a0) (ref $a1) (ref $a2) (ref $a3) (ref $subvoid) (ref $submany) (ref $all-types))))
+ ;; CHECK: (type $96 (func (param (ref $s0) (ref $s1) (ref $s2) (ref $s3) (ref $s4) (ref $s5) (ref $s6) (ref $s7) (ref $s8) (ref $a0) (ref $a1) (ref $a2) (ref $a3) (ref $subvoid) (ref $submany) (ref $all-types))))
;; CHECK: (import "" "mem" (memory $mimport$0 0))
@@ -409,7 +405,7 @@
;; CHECK: (elem $passive-2 anyref (struct.new_default $s0) (struct.new_default $s0))
(elem $passive-2 anyref (item struct.new $s0) (struct.new $s0))
- ;; CHECK: (elem declare func $ref-func $ref-is-null $table-fill $table-grow $table-set)
+ ;; CHECK: (elem declare func $ref-func $table-fill $table-grow $table-set)
(elem declare func 0 1 2 3)
(elem $declare-2 declare funcref (item ref.func 0) (ref.func 1) (item (ref.func 2)))
@@ -929,7 +925,7 @@
drop
)
- ;; CHECK: (func $locals (type $38) (param $0 i32) (param $x i32)
+ ;; CHECK: (func $locals (type $37) (param $0 i32) (param $x i32)
;; CHECK-NEXT: (local $2 i32)
;; CHECK-NEXT: (local $y i32)
;; CHECK-NEXT: (drop
@@ -2546,7 +2542,7 @@
)
)
- ;; CHECK: (func $try-table-throw-ref (type $39) (param $0 exnref)
+ ;; CHECK: (func $try-table-throw-ref (type $38) (param $0 exnref)
;; CHECK-NEXT: (throw_ref
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
@@ -2936,10 +2932,10 @@
end
)
- ;; CHECK: (func $br-table-multivalue-glb (type $40) (result anyref anyref)
- ;; CHECK-NEXT: (block $a (type $36) (result arrayref structref)
+ ;; CHECK: (func $br-table-multivalue-glb (type $39) (result anyref anyref)
+ ;; CHECK-NEXT: (block $a (type $35) (result arrayref structref)
;; CHECK-NEXT: (return
- ;; CHECK-NEXT: (block $b (type $35) (result structref arrayref)
+ ;; CHECK-NEXT: (block $b (type $34) (result structref arrayref)
;; CHECK-NEXT: (br_table $a $b
;; CHECK-NEXT: (tuple.make 2
;; CHECK-NEXT: (ref.null none)
@@ -2986,7 +2982,7 @@
end
)
- ;; CHECK: (func $binary (type $41) (param $0 i32) (param $1 i32) (param $2 f64) (param $3 f64)
+ ;; CHECK: (func $binary (type $40) (param $0 i32) (param $1 i32) (param $2 f64) (param $3 f64)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i32.add
;; CHECK-NEXT: (local.get $0)
@@ -3011,7 +3007,7 @@
drop
)
- ;; CHECK: (func $unary (type $42) (param $0 i64)
+ ;; CHECK: (func $unary (type $41) (param $0 i64)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i64.eqz
;; CHECK-NEXT: (local.get $0)
@@ -3360,7 +3356,7 @@
drop
)
- ;; CHECK: (func $simd-extract (type $43) (param $0 v128) (result i32)
+ ;; CHECK: (func $simd-extract (type $42) (param $0 v128) (result i32)
;; CHECK-NEXT: (i32x4.extract_lane 3
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
@@ -3382,7 +3378,7 @@
i32x4.replace_lane 2
)
- ;; CHECK: (func $simd-shuffle (type $44) (param $0 v128) (param $1 v128) (result v128)
+ ;; CHECK: (func $simd-shuffle (type $43) (param $0 v128) (param $1 v128) (result v128)
;; CHECK-NEXT: (i8x16.shuffle 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -3394,7 +3390,7 @@
i8x16.shuffle 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23
)
- ;; CHECK: (func $simd-ternary (type $45) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
+ ;; CHECK: (func $simd-ternary (type $44) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
;; CHECK-NEXT: (v128.bitselect
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -3504,7 +3500,7 @@
data.drop $passive
)
- ;; CHECK: (func $memory-copy (type $46) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i64)
+ ;; CHECK: (func $memory-copy (type $45) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i64)
;; CHECK-NEXT: (memory.copy $mimport$0 $mimport$0
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -3599,7 +3595,7 @@
return
)
- ;; CHECK: (func $return-two-first-unreachable (type $47) (param $0 i64) (result i32 i64)
+ ;; CHECK: (func $return-two-first-unreachable (type $46) (param $0 i64) (result i32 i64)
;; CHECK-NEXT: (return
;; CHECK-NEXT: (tuple.make 2
;; CHECK-NEXT: (unreachable)
@@ -3652,7 +3648,7 @@
return
)
- ;; CHECK: (func $ref-is-null (type $48) (param $0 anyref) (result i32)
+ ;; CHECK: (func $ref-is-null (type $47) (param $0 anyref) (result i32)
;; CHECK-NEXT: (ref.is_null
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
@@ -3667,13 +3663,13 @@
;; CHECK-NEXT: (ref.func $ref-func)
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (ref.func $ref-is-null)
+ ;; CHECK-NEXT: (ref.func $ref-func)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $ref-func
ref.func $ref-func
drop
- ref.func 158
+ ref.func 159
drop
)
@@ -3696,7 +3692,7 @@
throw $tag-pair
)
- ;; CHECK: (func $ref-eq (type $49) (param $0 eqref) (param $1 eqref) (result i32)
+ ;; CHECK: (func $ref-eq (type $48) (param $0 eqref) (param $1 eqref) (result i32)
;; CHECK-NEXT: (ref.eq
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -3873,7 +3869,7 @@
table.copy 2 $funcs
)
- ;; CHECK: (func $i31-new (type $50) (param $0 i32) (result i31ref)
+ ;; CHECK: (func $i31-new (type $49) (param $0 i32) (result i31ref)
;; CHECK-NEXT: (ref.i31
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
@@ -3883,7 +3879,7 @@
ref.i31
)
- ;; CHECK: (func $i31-get (type $51) (param $0 i31ref)
+ ;; CHECK: (func $i31-get (type $50) (param $0 i31ref)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i31.get_s
;; CHECK-NEXT: (local.get $0)
@@ -4102,7 +4098,7 @@
drop
)
- ;; CHECK: (func $struct-new (type $52) (param $0 i32) (param $1 i64) (result (ref $pair))
+ ;; CHECK: (func $struct-new (type $51) (param $0 i32) (param $1 i64) (result (ref $pair))
;; CHECK-NEXT: (struct.new $pair
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4114,14 +4110,14 @@
struct.new $pair
)
- ;; CHECK: (func $struct-new-default (type $53) (result (ref $pair))
+ ;; CHECK: (func $struct-new-default (type $52) (result (ref $pair))
;; CHECK-NEXT: (struct.new_default $pair)
;; CHECK-NEXT: )
(func $struct-new-default (result (ref $pair))
struct.new_default 14
)
- ;; CHECK: (func $struct-get-0 (type $54) (param $0 (ref $pair)) (result i32)
+ ;; CHECK: (func $struct-get-0 (type $53) (param $0 (ref $pair)) (result i32)
;; CHECK-NEXT: (struct.get $pair $first
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
@@ -4131,7 +4127,7 @@
struct.get 14 0
)
- ;; CHECK: (func $struct-get-1 (type $55) (param $0 (ref $pair)) (result i64)
+ ;; CHECK: (func $struct-get-1 (type $54) (param $0 (ref $pair)) (result i64)
;; CHECK-NEXT: (struct.get $pair $second
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
@@ -4141,7 +4137,7 @@
struct.get $pair 1
)
- ;; CHECK: (func $struct-get-named (type $56) (param $0 (ref null $pair)) (result i32)
+ ;; CHECK: (func $struct-get-named (type $55) (param $0 (ref null $pair)) (result i32)
;; CHECK-NEXT: (struct.get $pair $first
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
@@ -4151,7 +4147,7 @@
struct.get $pair $first
)
- ;; CHECK: (func $struct-set-0 (type $57) (param $0 (ref $pair)) (param $1 i32)
+ ;; CHECK: (func $struct-set-0 (type $56) (param $0 (ref $pair)) (param $1 i32)
;; CHECK-NEXT: (struct.set $pair $first
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4163,7 +4159,7 @@
struct.set $pair 0
)
- ;; CHECK: (func $struct-set-1 (type $58) (param $0 (ref $pair)) (param $1 i64)
+ ;; CHECK: (func $struct-set-1 (type $57) (param $0 (ref $pair)) (param $1 i64)
;; CHECK-NEXT: (struct.set $pair $second
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4175,7 +4171,7 @@
struct.set 14 1
)
- ;; CHECK: (func $struct-set-named (type $59) (param $0 (ref null $pair)) (param $1 i64)
+ ;; CHECK: (func $struct-set-named (type $58) (param $0 (ref null $pair)) (param $1 i64)
;; CHECK-NEXT: (struct.set $pair $second
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4187,7 +4183,7 @@
struct.set 14 $second
)
- ;; CHECK: (func $array-new (type $60) (param $0 i64) (param $1 i32) (result (ref $a1))
+ ;; CHECK: (func $array-new (type $59) (param $0 i64) (param $1 i32) (result (ref $a1))
;; CHECK-NEXT: (array.new $a1
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4199,7 +4195,7 @@
array.new $a1
)
- ;; CHECK: (func $array-new-default (type $61) (param $0 i32) (result (ref $a1))
+ ;; CHECK: (func $array-new-default (type $60) (param $0 i32) (result (ref $a1))
;; CHECK-NEXT: (array.new_default $a1
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
@@ -4209,7 +4205,7 @@
array.new_default 11
)
- ;; CHECK: (func $array-new-data (type $62) (param $0 i32) (param $1 i32) (result (ref $a1))
+ ;; CHECK: (func $array-new-data (type $61) (param $0 i32) (param $1 i32) (result (ref $a1))
;; CHECK-NEXT: (array.new_data $a1 $implicit-data
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4243,7 +4239,7 @@
drop
)
- ;; CHECK: (func $array-get (type $63) (param $0 (ref $a1)) (param $1 i32) (result i64)
+ ;; CHECK: (func $array-get (type $62) (param $0 (ref $a1)) (param $1 i32) (result i64)
;; CHECK-NEXT: (array.get $a1
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4255,7 +4251,7 @@
array.get $a1
)
- ;; CHECK: (func $array-get-s (type $64) (param $0 (ref $packed-i8)) (param $1 i32) (result i32)
+ ;; CHECK: (func $array-get-s (type $63) (param $0 (ref $packed-i8)) (param $1 i32) (result i32)
;; CHECK-NEXT: (array.get_s $packed-i8
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4267,7 +4263,7 @@
array.get_s 15
)
- ;; CHECK: (func $array-get-u (type $65) (param $0 (ref $packed-i16)) (param $1 i32) (result i32)
+ ;; CHECK: (func $array-get-u (type $64) (param $0 (ref $packed-i16)) (param $1 i32) (result i32)
;; CHECK-NEXT: (array.get_u $packed-i16
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4279,7 +4275,7 @@
array.get_u $packed-i16
)
- ;; CHECK: (func $array-set (type $66) (param $0 (ref $a2)) (param $1 i32) (param $2 f32)
+ ;; CHECK: (func $array-set (type $65) (param $0 (ref $a2)) (param $1 i32) (param $2 f32)
;; CHECK-NEXT: (array.set $a2
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4293,7 +4289,7 @@
array.set $a2
)
- ;; CHECK: (func $array-len (type $67) (param $0 arrayref) (result i32)
+ ;; CHECK: (func $array-len (type $66) (param $0 arrayref) (result i32)
;; CHECK-NEXT: (array.len
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
@@ -4303,7 +4299,7 @@
array.len
)
- ;; CHECK: (func $array-copy (type $68) (param $0 (ref $a2)) (param $1 i32) (param $2 (ref $a2)) (param $3 i32) (param $4 i32)
+ ;; CHECK: (func $array-copy (type $67) (param $0 (ref $a2)) (param $1 i32) (param $2 (ref $a2)) (param $3 i32) (param $4 i32)
;; CHECK-NEXT: (array.copy $a2 $a2
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4321,7 +4317,7 @@
array.copy $a2 $a2
)
- ;; CHECK: (func $array-fill (type $69) (param $0 (ref $a2)) (param $1 i32) (param $2 f32) (param $3 i32)
+ ;; CHECK: (func $array-fill (type $68) (param $0 (ref $a2)) (param $1 i32) (param $2 f32) (param $3 i32)
;; CHECK-NEXT: (array.fill $a2
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4337,7 +4333,7 @@
array.fill $a2
)
- ;; CHECK: (func $array-init-data (type $70) (param $0 (ref $a2)) (param $1 i32) (param $2 i32) (param $3 i32)
+ ;; CHECK: (func $array-init-data (type $69) (param $0 (ref $a2)) (param $1 i32) (param $2 i32) (param $3 i32)
;; CHECK-NEXT: (array.init_data $a2 $implicit-data
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4353,7 +4349,7 @@
array.init_data $a2 0
)
- ;; CHECK: (func $array-init-elem (type $71) (param $0 (ref $any-array)) (param $1 i32) (param $2 i32) (param $3 i32)
+ ;; CHECK: (func $array-init-elem (type $70) (param $0 (ref $any-array)) (param $1 i32) (param $2 i32) (param $3 i32)
;; CHECK-NEXT: (array.init_elem $any-array $passive-2
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4382,7 +4378,7 @@
drop
)
- ;; CHECK: (func $any-convert-extern (type $72) (param $0 externref)
+ ;; CHECK: (func $any-convert-extern (type $71) (param $0 externref)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (extern.internalize
;; CHECK-NEXT: (local.get $0)
@@ -4408,50 +4404,8 @@
drop
)
- ;; CHECK: (func $string-new (type $73) (param $0 i32) (param $1 i32) (result stringref)
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_utf8_try
- ;; CHECK-NEXT: (local.get $0)
- ;; CHECK-NEXT: (local.get $1)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_wtf8
- ;; CHECK-NEXT: (local.get $0)
- ;; CHECK-NEXT: (local.get $1)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_lossy_utf8
- ;; CHECK-NEXT: (local.get $0)
- ;; CHECK-NEXT: (local.get $1)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (string.new_wtf16
- ;; CHECK-NEXT: (local.get $0)
- ;; CHECK-NEXT: (local.get $1)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- (func $string-new (param i32 i32) (result stringref)
- local.get 0
- local.get 1
- string.new_utf8_try
- drop
- local.get 0
- local.get 1
- string.new_wtf8 0
- drop
- local.get 0
- local.get 1
- string.new_lossy_utf8 $mem
- drop
- local.get 0
- local.get 1
- string.new_wtf16
- )
-
- ;; CHECK: (func $string-new-gc (type $74) (param $0 (ref $packed-i8)) (param $1 i32) (param $2 i32) (result stringref)
- ;; CHECK-NEXT: (string.new_utf8_array
+ ;; CHECK: (func $string-new-gc (type $72) (param $0 (ref $packed-i8)) (param $1 i32) (param $2 i32) (result stringref)
+ ;; CHECK-NEXT: (string.new_lossy_utf8_array
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
;; CHECK-NEXT: (local.get $2)
@@ -4461,10 +4415,10 @@
local.get 0
local.get 1
local.get 2
- string.new_utf8_array
+ string.new_lossy_utf8_array
)
- ;; CHECK: (func $string-new-code-point (type $75) (param $0 i32) (result stringref)
+ ;; CHECK: (func $string-new-code-point (type $73) (param $0 i32) (result stringref)
;; CHECK-NEXT: (string.from_code_point
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
@@ -4474,7 +4428,7 @@
string.from_code_point
)
- ;; CHECK: (func $string-const (type $76) (result (ref string))
+ ;; CHECK: (func $string-const (type $74) (result (ref string))
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (string.const "foobar")
;; CHECK-NEXT: )
@@ -4486,12 +4440,7 @@
string.const "\00\00\00"
)
- ;; CHECK: (func $string-measure (type $29) (param $0 stringref)
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.measure_wtf8
- ;; CHECK-NEXT: (local.get $0)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
+ ;; CHECK: (func $string-measure (type $75) (param $0 stringref)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (string.measure_utf8
;; CHECK-NEXT: (local.get $0)
@@ -4502,84 +4451,18 @@
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.is_usv_sequence
- ;; CHECK-NEXT: (local.get $0)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $string-measure (param stringref)
local.get 0
- string.measure_wtf8
- drop
- local.get 0
string.measure_utf8
drop
local.get 0
string.measure_wtf16
drop
- local.get 0
- string.is_usv_sequence
- drop
- )
-
- ;; CHECK: (func $string-hash (type $77) (param $0 stringref) (result i32)
- ;; CHECK-NEXT: (string.hash
- ;; CHECK-NEXT: (local.get $0)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- (func $string-hash (param stringref) (result i32)
- local.get 0
- string.hash
- )
-
- ;; CHECK: (func $string-encode (type $29) (param $0 stringref)
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf8
- ;; CHECK-NEXT: (local.get $0)
- ;; CHECK-NEXT: (i32.const 0)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_lossy_utf8
- ;; CHECK-NEXT: (local.get $0)
- ;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_utf8
- ;; CHECK-NEXT: (local.get $0)
- ;; CHECK-NEXT: (i32.const 2)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf16
- ;; CHECK-NEXT: (local.get $0)
- ;; CHECK-NEXT: (i32.const 3)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- (func $string-encode (param stringref)
- local.get 0
- i32.const 0
- string.encode_wtf8
- drop
- local.get 0
- i32.const 1
- string.encode_lossy_utf8 0
- drop
- local.get 0
- i32.const 2
- string.encode_utf8 $mem
- drop
- local.get 0
- i32.const 3
- string.encode_wtf16
- drop
)
- ;; CHECK: (func $string-encode-gc (type $78) (param $0 stringref) (param $1 (ref $packed-i8)) (param $2 i32) (result i32)
- ;; CHECK-NEXT: (string.encode_wtf8_array
+ ;; CHECK: (func $string-encode-gc (type $76) (param $0 stringref) (param $1 (ref $packed-i8)) (param $2 i32) (result i32)
+ ;; CHECK-NEXT: (string.encode_wtf16_array
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
;; CHECK-NEXT: (local.get $2)
@@ -4589,10 +4472,10 @@
local.get 0
local.get 1
local.get 2
- string.encode_wtf8_array
+ string.encode_wtf16_array
)
- ;; CHECK: (func $string-concat (type $79) (param $0 stringref) (param $1 stringref) (result (ref string))
+ ;; CHECK: (func $string-concat (type $77) (param $0 stringref) (param $1 stringref) (result (ref string))
;; CHECK-NEXT: (string.concat
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4604,7 +4487,7 @@
string.concat
)
- ;; CHECK: (func $string-eq (type $30) (param $0 stringref) (param $1 stringref) (result i32)
+ ;; CHECK: (func $string-eq (type $29) (param $0 stringref) (param $1 stringref) (result i32)
;; CHECK-NEXT: (string.eq
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4616,7 +4499,7 @@
string.eq
)
- ;; CHECK: (func $string-compare (type $30) (param $0 stringref) (param $1 stringref) (result i32)
+ ;; CHECK: (func $string-compare (type $29) (param $0 stringref) (param $1 stringref) (result i32)
;; CHECK-NEXT: (string.compare
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4628,7 +4511,7 @@
string.compare
)
- ;; CHECK: (func $string-get (type $80) (param $0 stringref) (param $1 i32) (result i32)
+ ;; CHECK: (func $string-get (type $78) (param $0 stringref) (param $1 i32) (result i32)
;; CHECK-NEXT: (stringview_wtf16.get_codeunit
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4640,7 +4523,7 @@
stringview_wtf16.get_codeunit
)
- ;; CHECK: (func $string-slice (type $81) (param $0 stringref) (param $1 i32) (param $2 i32) (result (ref string))
+ ;; CHECK: (func $string-slice (type $79) (param $0 stringref) (param $1 i32) (param $2 i32) (result (ref string))
;; CHECK-NEXT: (stringview_wtf16.slice
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: (local.get $1)
@@ -4707,7 +4590,7 @@
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (call_indirect $timport$0 (type $31)
+ ;; CHECK-NEXT: (call_indirect $timport$0 (type $30)
;; CHECK-NEXT: (local.get $1)
;; CHECK-NEXT: (local.get $2)
;; CHECK-NEXT: (local.get $0)
@@ -4769,7 +4652,7 @@
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (call_indirect $timport$0 (type $31)
+ ;; CHECK-NEXT: (call_indirect $timport$0 (type $30)
;; CHECK-NEXT: (local.get $1)
;; CHECK-NEXT: (local.get $2)
;; CHECK-NEXT: (local.get $0)
@@ -4841,7 +4724,7 @@
;; CHECK-NEXT: (return_call_indirect $funcs (type $void)
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
- ;; CHECK-NEXT: (return_call_indirect $timport$0 (type $32)
+ ;; CHECK-NEXT: (return_call_indirect $timport$0 (type $31)
;; CHECK-NEXT: (local.get $1)
;; CHECK-NEXT: (local.get $2)
;; CHECK-NEXT: (local.get $0)
@@ -4900,7 +4783,7 @@
;; CHECK-NEXT: (return_call_indirect $funcs (type $void)
;; CHECK-NEXT: (local.get $0)
;; CHECK-NEXT: )
- ;; CHECK-NEXT: (return_call_indirect $timport$0 (type $32)
+ ;; CHECK-NEXT: (return_call_indirect $timport$0 (type $31)
;; CHECK-NEXT: (local.get $1)
;; CHECK-NEXT: (local.get $2)
;; CHECK-NEXT: (local.get $0)
@@ -4941,13 +4824,13 @@
)
)
- ;; CHECK: (func $resume (type $82) (param $ct (ref $simple-cont))
+ ;; CHECK: (func $resume (type $80) (param $ct (ref $simple-cont))
;; CHECK-NEXT: (local $f f32)
;; CHECK-NEXT: (block $label
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (block $block (result (ref $to-f32-cont))
;; CHECK-NEXT: (tuple.drop 3
- ;; CHECK-NEXT: (block $block0 (type $37) (result i32 i64 (ref null $simple-cont))
+ ;; CHECK-NEXT: (block $block0 (type $36) (result i32 i64 (ref null $simple-cont))
;; CHECK-NEXT: (local.set $f
;; CHECK-NEXT: (resume $simple-cont (tag $empty $block) (tag $tag-pair-to-pair $block0)
;; CHECK-NEXT: (i32.const 0)
@@ -4980,7 +4863,7 @@
br 0
)
- ;; CHECK: (func $contnew (type $85) (param $f (ref $simple)) (result (ref $simple-cont))
+ ;; CHECK: (func $contnew (type $83) (param $f (ref $simple)) (result (ref $simple-cont))
;; CHECK-NEXT: (cont.new $simple-cont
;; CHECK-NEXT: (local.get $f)
;; CHECK-NEXT: )
@@ -4990,7 +4873,7 @@
cont.new $simple-cont
)
- ;; CHECK: (func $contbind (type $86) (param $c (ref $cont-bind-before)) (result (ref $simple-cont))
+ ;; CHECK: (func $contbind (type $84) (param $c (ref $cont-bind-before)) (result (ref $simple-cont))
;; CHECK-NEXT: (cont.bind $cont-bind-before $simple-cont
;; CHECK-NEXT: (i32.const 123)
;; CHECK-NEXT: (i64.const 123)
@@ -5115,7 +4998,7 @@
drop
)
- ;; CHECK: (func $use-types (type $98) (param $0 (ref $s0)) (param $1 (ref $s1)) (param $2 (ref $s2)) (param $3 (ref $s3)) (param $4 (ref $s4)) (param $5 (ref $s5)) (param $6 (ref $s6)) (param $7 (ref $s7)) (param $8 (ref $s8)) (param $9 (ref $a0)) (param $10 (ref $a1)) (param $11 (ref $a2)) (param $12 (ref $a3)) (param $13 (ref $subvoid)) (param $14 (ref $submany)) (param $15 (ref $all-types))
+ ;; CHECK: (func $use-types (type $96) (param $0 (ref $s0)) (param $1 (ref $s1)) (param $2 (ref $s2)) (param $3 (ref $s3)) (param $4 (ref $s4)) (param $5 (ref $s5)) (param $6 (ref $s6)) (param $7 (ref $s7)) (param $8 (ref $s8)) (param $9 (ref $a0)) (param $10 (ref $a1)) (param $11 (ref $a2)) (param $12 (ref $a3)) (param $13 (ref $subvoid)) (param $14 (ref $submany)) (param $15 (ref $all-types))
;; CHECK-NEXT: (nop)
;; CHECK-NEXT: )
(func $use-types