summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tools/fuzzing.h2
-rw-r--r--test/passes/translate-to-fuzz_all-features.txt943
-rw-r--r--test/passes/translate-to-fuzz_no-fuzz-nans_all-features.txt902
3 files changed, 859 insertions, 988 deletions
diff --git a/src/tools/fuzzing.h b/src/tools/fuzzing.h
index f08fac2d9..7dac502db 100644
--- a/src/tools/fuzzing.h
+++ b/src/tools/fuzzing.h
@@ -425,9 +425,7 @@ private:
Index num = upTo(3);
for (size_t i = 0; i < num; i++) {
// Events should have void return type and at least one param type
- Type type = getConcreteType();
std::vector<Type> params;
- params.push_back(type);
Index numValues =
wasm.features.hasMultivalue() ? upToSquared(MAX_PARAMS) : upTo(2);
for (Index i = 0; i < numValues; i++) {
diff --git a/test/passes/translate-to-fuzz_all-features.txt b/test/passes/translate-to-fuzz_all-features.txt
index 7f23ed1d4..43b03810e 100644
--- a/test/passes/translate-to-fuzz_all-features.txt
+++ b/test/passes/translate-to-fuzz_all-features.txt
@@ -1,24 +1,26 @@
(module
(type $none_=>_none (func))
- (type $none_=>_i64 (func (result i64)))
- (type $exnref_=>_none (func (param exnref)))
- (type $none_=>_f64 (func (result f64)))
(type $i32_=>_none (func (param i32)))
(type $i64_=>_none (func (param i64)))
- (type $i64_exnref_f32_funcref_exnref_=>_none (func (param i64 exnref f32 funcref exnref)))
(type $f32_=>_none (func (param f32)))
(type $f64_=>_none (func (param f64)))
- (type $f64_exnref_exnref_=>_none (func (param f64 exnref exnref)))
(type $v128_=>_none (func (param v128)))
+ (type $funcref_anyref_f64_=>_none (func (param funcref anyref f64)))
(type $nullref_=>_none (func (param nullref)))
+ (type $exnref_=>_none (func (param exnref)))
(type $none_=>_i32 (func (result i32)))
- (type $f64_=>_v128 (func (param f64) (result v128)))
- (type $f64_exnref_=>_v128 (func (param f64 exnref) (result v128)))
- (type $none_=>_anyref (func (result anyref)))
- (type $f64_exnref_=>_anyref (func (param f64 exnref) (result anyref)))
- (type $nullref_funcref_nullref_exnref_=>_anyref (func (param nullref funcref nullref exnref) (result anyref)))
+ (type $none_=>_i64 (func (result i64)))
+ (type $v128_=>_i64 (func (param v128) (result i64)))
+ (type $none_=>_f32 (func (result f32)))
+ (type $none_=>_f64 (func (result f64)))
+ (type $f32_anyref_v128_=>_f64 (func (param f32 anyref v128) (result f64)))
+ (type $v128_i64_nullref_i64_v128_=>_f64 (func (param v128 i64 nullref i64 v128) (result f64)))
+ (type $nullref_exnref_nullref_funcref_v128_=>_funcref (func (param nullref exnref nullref funcref v128) (result funcref)))
(type $none_=>_nullref (func (result nullref)))
- (type $f32_=>_exnref (func (param f32) (result exnref)))
+ (type $nullref_i64_i64_f64_=>_nullref (func (param nullref i64 i64 f64) (result nullref)))
+ (type $none_=>_exnref (func (result exnref)))
+ (type $f64_nullref_i32_funcref_nullref_=>_exnref (func (param f64 nullref i32 funcref nullref) (result exnref)))
+ (type $anyref_nullref_v128_f64_=>_exnref (func (param anyref nullref v128 f64) (result exnref)))
(import "fuzzing-support" "log-i32" (func $log-i32 (param i32)))
(import "fuzzing-support" "log-i64" (func $log-i64 (param i64)))
(import "fuzzing-support" "log-f32" (func $log-f32 (param f32)))
@@ -26,10 +28,10 @@
(import "fuzzing-support" "log-v128" (func $log-v128 (param v128)))
(import "fuzzing-support" "log-nullref" (func $log-nullref (param nullref)))
(import "fuzzing-support" "log-exnref" (func $log-exnref (param exnref)))
- (memory $0 1 1)
+ (memory $0 (shared 1 1))
(data (i32.const 0) "N\0fN\f5\f9\b1\ff\fa\eb\e5\fe\a7\ec\fb\fc\f4\a6\e4\ea\f0\ae\e3")
- (table $0 10 funcref)
- (elem (i32.const 0) $func_16 $func_16 $func_18 $func_19 $func_23 $func_23 $func_23 $func_23 $func_23 $func_23)
+ (table $0 5 5 funcref)
+ (elem (i32.const 0) $func_10 $func_17 $func_17 $func_17 $func_23)
(global $global$0 (mut i32) (i32.const 975663930))
(global $global$1 (mut i32) (i32.const 2066300474))
(global $global$2 (mut i64) (i64.const 20510))
@@ -40,21 +42,22 @@
(global $global$7 (mut nullref) (ref.null))
(global $global$8 (mut nullref) (ref.null))
(global $hangLimit (mut i32) (i32.const 10))
- (event $event$0 (attr 0) (param f64 exnref exnref))
- (event $event$1 (attr 0) (param exnref))
+ (event $event$0 (attr 0) (param funcref anyref f64))
+ (event $event$1 (attr 0) (param i32))
(export "hashMemory" (func $hashMemory))
(export "memory" (memory $0))
(export "func_8" (func $func_8))
- (export "func_9" (func $func_9))
- (export "func_9_invoker" (func $func_9_invoker))
- (export "func_11_invoker" (func $func_11_invoker))
- (export "func_13_invoker" (func $func_13_invoker))
- (export "func_17" (func $func_17))
- (export "func_18" (func $func_18))
- (export "func_20" (func $func_20))
+ (export "func_11" (func $func_11))
+ (export "func_12_invoker" (func $func_12_invoker))
+ (export "func_15" (func $func_15))
+ (export "func_15_invoker" (func $func_15_invoker))
+ (export "func_17_invoker" (func $func_17_invoker))
+ (export "func_19" (func $func_19))
+ (export "func_19_invoker" (func $func_19_invoker))
+ (export "func_21" (func $func_21))
(export "func_21_invoker" (func $func_21_invoker))
- (export "func_23" (func $func_23))
- (export "func_24" (func $func_24))
+ (export "func_23_invoker" (func $func_23_invoker))
+ (export "func_25" (func $func_25))
(export "hangLimitInitializer" (func $hangLimitInitializer))
(func $hashMemory (result i32)
(local $0 i32)
@@ -287,7 +290,35 @@
)
(local.get $0)
)
- (func $func_8 (result anyref)
+ (func $func_8
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return)
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
+ )
+ (block $label$0
+ (block $label$1
+ (block $label$2
+ (nop)
+ (nop)
+ )
+ (nop)
+ )
+ (nop)
+ )
+ )
+ (func $func_9 (param $0 nullref) (param $1 exnref) (param $2 nullref) (param $3 funcref) (param $4 v128) (result funcref)
+ (local $5 nullref)
+ (local $6 f64)
(block
(if
(i32.eqz
@@ -304,18 +335,21 @@
)
)
)
- (ref.null)
+ (local.tee $3
+ (ref.null)
+ )
)
- (func $func_9 (result i64)
- (local $0 v128)
- (local $1 f64)
+ (func $func_10 (result i64)
+ (local $0 anyref)
+ (local $1 funcref)
+ (local $2 f64)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (i64.const 127)
+ (i64.const 21339)
)
)
(global.set $hangLimit
@@ -325,33 +359,53 @@
)
)
)
- (block $label$0 (result i64)
- (call $log-i32
- (call $hashMemory)
+ (block $label$0
+ (nop)
+ (return
+ (i64.const -2199023255552)
)
- (i64.const 18014398509481984)
)
)
- (func $func_9_invoker
- (drop
- (call $func_9)
- )
- (call $log-i32
- (call $hashMemory)
+ (func $func_11 (result f64)
+ (local $0 v128)
+ (local $1 f32)
+ (local $2 v128)
+ (local $3 funcref)
+ (local $4 v128)
+ (local $5 nullref)
+ (local $6 i32)
+ (local $7 i32)
+ (local $8 funcref)
+ (local $9 v128)
+ (local $10 v128)
+ (local $11 v128)
+ (local $12 funcref)
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return
+ (f64.const 5)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
)
+ (f64.const 1.6293189712507804e-52)
)
- (func $func_11 (param $0 f64) (result v128)
- (local $1 nullref)
- (local $2 f32)
- (local $3 funcref)
- (local $4 i64)
+ (func $func_12 (result nullref)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (v128.const i32x4 0x314e0000 0x0000e901 0x19000354 0x0001e501)
+ (ref.null)
)
)
(global.set $hangLimit
@@ -361,39 +415,45 @@
)
)
)
- (v128.const i32x4 0x00020000 0x00000000 0xfffffff3 0xffffffff)
+ (block $label$0
+ (nop)
+ (return
+ (ref.null)
+ )
+ )
)
- (func $func_11_invoker
+ (func $func_12_invoker
(drop
- (call $func_11
- (f64.const -1.1754943508222875e-38)
- )
+ (call $func_12)
)
- (call $log-i32
- (call $hashMemory)
+ (drop
+ (call $func_12)
)
(drop
- (call $func_11
- (f64.const 536870912)
- )
+ (call $func_12)
)
(call $log-i32
(call $hashMemory)
)
(drop
- (call $func_11
- (f64.const 6009)
- )
+ (call $func_12)
+ )
+ (call $log-i32
+ (call $hashMemory)
)
)
- (func $func_13 (param $0 i64) (param $1 exnref) (param $2 f32) (param $3 funcref) (param $4 exnref)
- (local $5 v128)
+ (func $func_14 (param $0 nullref) (param $1 i64) (param $2 i64) (param $3 f64) (result nullref)
+ (local $4 f64)
+ (local $5 f32)
+ (local $6 i64)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
- (return)
+ (return
+ (ref.null)
+ )
)
(global.set $hangLimit
(i32.sub
@@ -402,62 +462,78 @@
)
)
)
- (call $log-i64
- (if (result i64)
+ (block $label$0 (result nullref)
+ (nop)
+ (block $label$1 (result nullref)
+ (local.get $0)
+ )
+ )
+ )
+ (func $func_15 (result f32)
+ (local $0 funcref)
+ (block
+ (if
(i32.eqz
- (i32.const 3084)
+ (global.get $hangLimit)
)
- (block $label$0 (result i64)
- (call $log-i32
- (call $hashMemory)
- )
- (if (result i64)
- (i32.eqz
- (if (result i32)
- (i32.eqz
- (loop $label$1
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return)
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (block $label$2
- (call $log-i32
- (call $hashMemory)
- )
- (return)
- )
- )
- )
- (i32.const 1532511570)
- (i32.const 52123137)
+ (return
+ (f32.const -0)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
+ )
+ (block $label$0
+ (call $log-f32
+ (loop $label$1 (result f32)
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return
+ (f32.const -nan:0x7fffe9)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
)
)
- (i64.const -110)
- (block $label$3
+ )
+ (block (result f32)
+ (block $label$2
(nop)
- (return)
+ (nop)
+ )
+ (br_if $label$1
+ (i32.eqz
+ (i32.const 31868)
+ )
)
+ (f32.const -18446744073709551615)
)
)
- (block $label$4
- (nop)
- (loop $label$6
+ )
+ (if
+ (block $label$3
+ (call $log-exnref
+ (ref.null)
+ )
+ (loop $label$4
(block
(if
(i32.eqz
(global.get $hangLimit)
)
- (return)
+ (return
+ (f32.const -nan:0x7fffef)
+ )
)
(global.set $hangLimit
(i32.sub
@@ -466,175 +542,64 @@
)
)
)
- (block $label$7
- (if
- (loop $label$8 (result i32)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return)
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (block $label$9 (result i32)
- (local.set $1
- (loop $label$10 (result exnref)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return)
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (block (result exnref)
- (block $label$11
- (if
- (i32.eqz
- (if (result i32)
- (i32.const -536870912)
- (i32.const 10016)
- (block $label$12
- (call $log-i32
- (i32.const 486999634)
- )
- (br $label$11)
- )
- )
- )
- (call $log-i32
- (call $hashMemory)
- )
- (block $label$13
- (nop)
- )
- )
- (call $log-i64
- (local.get $0)
- )
- )
- (br_if $label$10
- (i32.eqz
- (loop $label$14 (result i32)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return)
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (block (result i32)
- (block $label$15
- (local.tee $1
- (block $label$16
- (local.set $1
- (ref.null)
- )
- (br $label$14)
- )
- )
- (block $label$17
- (call $log-i32
- (i32.const -41)
- )
- (call $log-i32
- (call $hashMemory)
- )
- )
- )
- (br_if $label$14
- (br_if $label$9
- (ref.is_null
- (ref.null)
- )
- (br_if $label$9
- (i32.const 262144)
- (i32.const 3084)
- )
- )
- )
- (i32.const 128)
- )
- )
- )
- )
- (local.get $4)
- )
- )
- )
- (i32.const 792338989)
- )
- )
- (block $label$18
- (loop $label$19
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return)
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (local.set $5
- (local.get $5)
- )
- )
- (nop)
- )
- (local.set $1
- (local.get $4)
- )
- )
- (br $label$6)
+ (call $log-exnref
+ (ref.null)
)
)
+ (return
+ (f32.const 2101943053617856459558324e13)
+ )
)
+ (block $label$5
+ (call $log-i32
+ (call $hashMemory)
+ )
+ (br_if $label$5
+ (i32.eqz
+ (i32.const -2147483648)
+ )
+ )
+ )
+ (nop)
+ )
+ (return
+ (f32.const 35013904)
)
)
)
- (func $func_13_invoker
- (call $func_13
- (i64.const -9223372036854775808)
- (ref.null)
- (f32.const 9223372036854775808)
- (ref.func $log-i32)
- (ref.null)
+ (func $func_15_invoker
+ (drop
+ (call $func_15)
+ )
+ (call $log-i32
+ (call $hashMemory)
+ )
+ (drop
+ (call $func_15)
+ )
+ (drop
+ (call $func_15)
+ )
+ (call $log-i32
+ (call $hashMemory)
)
)
- (func $func_15 (result f64)
+ (func $func_17 (param $0 f64) (param $1 nullref) (param $2 i32) (param $3 funcref) (param $4 nullref) (result exnref)
+ (local $5 anyref)
+ (local $6 exnref)
+ (local $7 f32)
+ (local $8 f32)
+ (local $9 funcref)
+ (local $10 nullref)
+ (local $11 nullref)
+ (local $12 f32)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (f64.const 3.8437398592487645e-236)
+ (ref.null)
)
)
(global.set $hangLimit
@@ -644,29 +609,36 @@
)
)
)
- (f64.const -nan:0xfffffffffffa1)
+ (local.tee $6
+ (local.tee $6
+ (ref.null)
+ )
+ )
)
- (func $func_16 (param $0 f64) (param $1 exnref) (result v128)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (v128.const i32x4 0x000800ff 0x42410000 0x223a652c 0x4000fff8)
- )
+ (func $func_17_invoker
+ (drop
+ (call $func_17
+ (f64.const 3.2330574282313187e-229)
+ (ref.null)
+ (i32.const 65536)
+ (ref.func $func_10)
+ (ref.null)
)
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
+ )
+ (drop
+ (call $func_17
+ (f64.const 2.2250738585072014e-308)
+ (ref.null)
+ (i32.const -66)
+ (ref.func $func_15_invoker)
+ (ref.null)
)
)
- (v128.const i32x4 0xffffffb4 0xffffffff 0x444b4141 0x40434a4a)
+ (call $log-i32
+ (call $hashMemory)
+ )
)
- (func $func_17 (param $0 f64) (param $1 exnref) (result anyref)
- (local $2 nullref)
+ (func $func_19 (result exnref)
(block
(if
(i32.eqz
@@ -683,62 +655,35 @@
)
)
)
- (if (result nullref)
- (i32.eqz
- (i32.const 262144)
- )
+ (select (result nullref)
(ref.null)
(ref.null)
+ (i32.const 1)
)
)
- (func $func_18 (result i64)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (i64.const 4096)
- )
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
+ (func $func_19_invoker
+ (drop
+ (call $func_19)
)
- (loop $label$0 (result i64)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (i64.const 15)
- )
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (i64.const 6509766706562358106)
+ (call $log-i32
+ (call $hashMemory)
+ )
+ (drop
+ (call $func_19)
+ )
+ (call $log-i32
+ (call $hashMemory)
)
)
- (func $func_19 (result i64)
- (local $0 anyref)
- (local $1 funcref)
- (local $2 f64)
+ (func $func_21 (param $0 f32) (param $1 anyref) (param $2 v128) (result f64)
+ (local $3 f32)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (i64.const 21339)
+ (f64.const -35)
)
)
(global.set $hangLimit
@@ -749,52 +694,140 @@
)
)
(block $label$0
- (nop)
+ (if
+ (i32.const -1024)
+ (block $label$1
+ (if
+ (loop $label$2 (result i32)
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return
+ (f64.const 218)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
+ )
+ (block (result i32)
+ (local.set $0
+ (local.get $3)
+ )
+ (br_if $label$2
+ (i32.eqz
+ (i32.const -127)
+ )
+ )
+ (loop $label$5 (result i32)
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return
+ (f64.const 18250224326260770977349632)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
+ )
+ (block (result i32)
+ (local.tee $2
+ (loop $label$6
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return
+ (f64.const 536870912)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
+ )
+ (block $label$7
+ (br $label$1)
+ )
+ )
+ )
+ (br_if $label$5
+ (i32.const 37771863)
+ )
+ (i32.const 1026961235)
+ )
+ )
+ )
+ )
+ (local.set $0
+ (f32.const 15574585428672512)
+ )
+ (block $label$15
+ (call $log-i32
+ (call $hashMemory)
+ )
+ )
+ )
+ (nop)
+ )
+ (nop)
+ )
(return
- (i64.const -2199023255552)
+ (f64.const 302456592)
)
)
)
- (func $func_20 (result f64)
- (local $0 v128)
- (local $1 f32)
- (local $2 v128)
- (local $3 funcref)
- (local $4 v128)
- (local $5 nullref)
- (local $6 i32)
- (local $7 i32)
- (local $8 funcref)
- (local $9 v128)
- (local $10 v128)
- (local $11 v128)
- (local $12 funcref)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (f64.const 5)
- )
+ (func $func_21_invoker
+ (drop
+ (call $func_21
+ (f32.const 589308224)
+ (ref.null)
+ (v128.const i32x4 0xffffff81 0x04070504 0x02007d03 0xfffffe00)
)
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
+ )
+ (drop
+ (call $func_21
+ (f32.const 168096624)
+ (ref.null)
+ (v128.const i32x4 0x4ed626fe 0x74770f63 0xdf000000 0x564a5657)
)
)
- (f64.const 1.6293189712507804e-52)
+ (drop
+ (call $func_21
+ (f32.const 707669312)
+ (ref.null)
+ (v128.const i32x4 0x0000001f 0xfc7f3000 0x00005c00 0x5f110d0f)
+ )
+ )
+ (call $log-i32
+ (call $hashMemory)
+ )
)
- (func $func_21 (result nullref)
+ (func $func_23 (param $0 v128) (result i64)
+ (local $1 i32)
+ (local $2 f64)
+ (local $3 f64)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (ref.null)
+ (i64.const 2147483646)
)
)
(global.set $hangLimit
@@ -805,53 +838,44 @@
)
)
(block $label$0
- (nop)
+ (local.set $3
+ (local.tee $3
+ (local.get $3)
+ )
+ )
(return
- (ref.null)
+ (i64.const 110)
)
)
)
- (func $func_21_invoker
- (drop
- (call $func_21)
- )
+ (func $func_23_invoker
(drop
- (call $func_21)
- )
- (drop
- (call $func_21)
+ (call $func_23
+ (v128.const i32x4 0xf0000000 0x00000046 0x00080000 0x513d3229)
+ )
)
(call $log-i32
(call $hashMemory)
)
(drop
- (call $func_21)
+ (call $func_23
+ (v128.const i32x4 0x4409256e 0xff807c7c 0x0000ffa1 0x51378000)
+ )
)
(call $log-i32
(call $hashMemory)
)
)
- (func $func_23 (param $0 nullref) (param $1 funcref) (param $2 nullref) (param $3 exnref) (result anyref)
- (local $4 exnref)
- (local $5 i32)
- (local $6 i32)
- (local $7 f32)
- (local $8 i32)
- (local $9 funcref)
- (local $10 nullref)
- (local $11 anyref)
- (local $12 v128)
- (local $13 anyref)
- (local $14 f32)
- (local $15 f32)
- (local $16 funcref)
+ (func $func_25 (param $0 anyref) (param $1 nullref) (param $2 v128) (param $3 f64) (result exnref)
+ (local $4 i64)
+ (local $5 nullref)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (local.get $11)
+ (ref.null)
)
)
(global.set $hangLimit
@@ -863,14 +887,15 @@
)
(ref.null)
)
- (func $func_24 (param $0 f32) (result exnref)
+ (func $func_26 (param $0 v128) (param $1 i64) (param $2 nullref) (param $3 i64) (param $4 v128) (result f64)
+ (local $5 funcref)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (ref.null)
+ (f64.const -nan:0xfffffffffffe0)
)
)
(global.set $hangLimit
@@ -880,146 +905,36 @@
)
)
)
- (if (result nullref)
- (block (result i32)
- (block $label$7
- (nop)
- (nop)
- )
- (nop)
- (i32.const 6924)
- )
- (block $label$0 (result nullref)
- (local.set $0
- (local.tee $0
- (if (result f32)
- (i32.const -33554432)
- (local.tee $0
- (local.tee $0
- (local.tee $0
- (f32.const 2147483648)
- )
- )
- )
- (local.tee $0
- (local.tee $0
- (local.tee $0
- (f32.const 2147483648)
- )
- )
- )
- )
+ (loop $label$0 (result f64)
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
)
- )
- (loop $label$1 (result nullref)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (ref.null)
- )
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
+ (return
+ (f64.const 2.823288302326678e-212)
)
- (block (result nullref)
- (block $label$2
- (block $label$3
- (nop)
- )
- (nop)
- )
- (nop)
- (block $label$4 (result nullref)
- (block $label$5
- (local.set $0
- (if (result f32)
- (loop $label$6 (result i32)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (ref.null)
- )
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (block (result i32)
- (nop)
- (br_if $label$6
- (i32.eqz
- (i32.const -32767)
- )
- )
- (i32.const 6924)
- )
- )
- (local.tee $0
- (f32.const 1668112640)
- )
- (block $label$10 (result f32)
- (nop)
- (local.tee $0
- (local.tee $0
- (f32.abs
- (local.get $0)
- )
- )
- )
- )
- )
- )
- (nop)
- (nop)
- )
- (ref.null)
- )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
)
)
)
- (block $label$11
- (loop $label$12
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (ref.null)
- )
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (block $label$13
- (nop)
- (br_if $label$13
- (i32.eqz
- (i32.const 64)
- )
- )
+ (block (result f64)
+ (block $label$1
+ (nop)
+ (call $log-v128
+ (v128.const i32x4 0x00000000 0xc3e00000 0x00000000 0x403c0000)
)
)
- (return
- (ref.null)
+ (br_if $label$0
+ (i32.eqz
+ (i32.const -2)
+ )
)
+ (f64.const 2.760346204923693e-173)
)
)
)
diff --git a/test/passes/translate-to-fuzz_no-fuzz-nans_all-features.txt b/test/passes/translate-to-fuzz_no-fuzz-nans_all-features.txt
index 0638e7033..17b289421 100644
--- a/test/passes/translate-to-fuzz_no-fuzz-nans_all-features.txt
+++ b/test/passes/translate-to-fuzz_no-fuzz-nans_all-features.txt
@@ -1,26 +1,28 @@
(module
(type $none_=>_none (func))
- (type $none_=>_i64 (func (result i64)))
- (type $exnref_=>_none (func (param exnref)))
- (type $none_=>_f64 (func (result f64)))
(type $i32_=>_none (func (param i32)))
(type $i64_=>_none (func (param i64)))
- (type $i64_exnref_f32_funcref_exnref_=>_none (func (param i64 exnref f32 funcref exnref)))
(type $f32_=>_none (func (param f32)))
(type $f64_=>_none (func (param f64)))
- (type $f64_exnref_exnref_=>_none (func (param f64 exnref exnref)))
(type $v128_=>_none (func (param v128)))
+ (type $funcref_anyref_f64_=>_none (func (param funcref anyref f64)))
(type $nullref_=>_none (func (param nullref)))
+ (type $exnref_=>_none (func (param exnref)))
(type $none_=>_i32 (func (result i32)))
+ (type $none_=>_i64 (func (result i64)))
+ (type $v128_=>_i64 (func (param v128) (result i64)))
+ (type $none_=>_f32 (func (result f32)))
(type $f32_=>_f32 (func (param f32) (result f32)))
+ (type $none_=>_f64 (func (result f64)))
+ (type $f32_anyref_v128_=>_f64 (func (param f32 anyref v128) (result f64)))
(type $f64_=>_f64 (func (param f64) (result f64)))
- (type $f64_=>_v128 (func (param f64) (result v128)))
- (type $f64_exnref_=>_v128 (func (param f64 exnref) (result v128)))
- (type $none_=>_anyref (func (result anyref)))
- (type $f64_exnref_=>_anyref (func (param f64 exnref) (result anyref)))
- (type $nullref_funcref_nullref_exnref_=>_anyref (func (param nullref funcref nullref exnref) (result anyref)))
+ (type $v128_i64_nullref_i64_v128_=>_f64 (func (param v128 i64 nullref i64 v128) (result f64)))
+ (type $nullref_exnref_nullref_funcref_v128_=>_funcref (func (param nullref exnref nullref funcref v128) (result funcref)))
(type $none_=>_nullref (func (result nullref)))
- (type $f32_=>_exnref (func (param f32) (result exnref)))
+ (type $nullref_i64_i64_f64_=>_nullref (func (param nullref i64 i64 f64) (result nullref)))
+ (type $none_=>_exnref (func (result exnref)))
+ (type $f64_nullref_i32_funcref_nullref_=>_exnref (func (param f64 nullref i32 funcref nullref) (result exnref)))
+ (type $anyref_nullref_v128_f64_=>_exnref (func (param anyref nullref v128 f64) (result exnref)))
(import "fuzzing-support" "log-i32" (func $log-i32 (param i32)))
(import "fuzzing-support" "log-i64" (func $log-i64 (param i64)))
(import "fuzzing-support" "log-f32" (func $log-f32 (param f32)))
@@ -28,10 +30,10 @@
(import "fuzzing-support" "log-v128" (func $log-v128 (param v128)))
(import "fuzzing-support" "log-nullref" (func $log-nullref (param nullref)))
(import "fuzzing-support" "log-exnref" (func $log-exnref (param exnref)))
- (memory $0 1 1)
+ (memory $0 (shared 1 1))
(data (i32.const 0) "N\0fN\f5\f9\b1\ff\fa\eb\e5\fe\a7\ec\fb\fc\f4\a6\e4\ea\f0\ae\e3")
- (table $0 10 10 funcref)
- (elem (i32.const 0) $func_16 $func_16 $func_18 $func_19 $func_23 $func_23 $func_23 $func_23 $func_23 $func_23)
+ (table $0 5 funcref)
+ (elem (i32.const 0) $func_10 $func_17 $func_17 $func_17 $func_23)
(global $global$0 (mut i32) (i32.const 975663930))
(global $global$1 (mut i32) (i32.const 2066300474))
(global $global$2 (mut i64) (i64.const 20510))
@@ -42,21 +44,23 @@
(global $global$7 (mut nullref) (ref.null))
(global $global$8 (mut nullref) (ref.null))
(global $hangLimit (mut i32) (i32.const 10))
- (event $event$0 (attr 0) (param f64 exnref exnref))
- (event $event$1 (attr 0) (param exnref))
+ (event $event$0 (attr 0) (param funcref anyref f64))
+ (event $event$1 (attr 0) (param i32))
(export "hashMemory" (func $hashMemory))
(export "memory" (memory $0))
(export "func_8" (func $func_8))
- (export "func_9" (func $func_9))
- (export "func_9_invoker" (func $func_9_invoker))
- (export "func_11_invoker" (func $func_11_invoker))
- (export "func_13_invoker" (func $func_13_invoker))
- (export "func_17" (func $func_17))
- (export "func_18" (func $func_18))
- (export "func_20" (func $func_20))
+ (export "func_11" (func $func_11))
+ (export "func_12_invoker" (func $func_12_invoker))
+ (export "func_15" (func $func_15))
+ (export "func_15_invoker" (func $func_15_invoker))
+ (export "func_17_invoker" (func $func_17_invoker))
+ (export "func_19" (func $func_19))
+ (export "func_19_invoker" (func $func_19_invoker))
+ (export "func_21" (func $func_21))
(export "func_21_invoker" (func $func_21_invoker))
- (export "func_23" (func $func_23))
- (export "func_24" (func $func_24))
+ (export "func_23_invoker" (func $func_23_invoker))
+ (export "func_25" (func $func_25))
+ (export "func_26" (func $func_26))
(export "hangLimitInitializer" (func $hangLimitInitializer))
(func $hashMemory (result i32)
(local $0 i32)
@@ -289,7 +293,35 @@
)
(local.get $0)
)
- (func $func_8 (result anyref)
+ (func $func_8
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return)
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
+ )
+ (block $label$0
+ (block $label$1
+ (block $label$2
+ (nop)
+ (nop)
+ )
+ (nop)
+ )
+ (nop)
+ )
+ )
+ (func $func_9 (param $0 nullref) (param $1 exnref) (param $2 nullref) (param $3 funcref) (param $4 v128) (result funcref)
+ (local $5 nullref)
+ (local $6 f64)
(block
(if
(i32.eqz
@@ -306,18 +338,21 @@
)
)
)
- (ref.null)
+ (local.tee $3
+ (ref.null)
+ )
)
- (func $func_9 (result i64)
- (local $0 v128)
- (local $1 f64)
+ (func $func_10 (result i64)
+ (local $0 anyref)
+ (local $1 funcref)
+ (local $2 f64)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (i64.const 127)
+ (i64.const 21339)
)
)
(global.set $hangLimit
@@ -327,33 +362,53 @@
)
)
)
- (block $label$0 (result i64)
- (call $log-i32
- (call $hashMemory)
+ (block $label$0
+ (nop)
+ (return
+ (i64.const -2199023255552)
)
- (i64.const 18014398509481984)
)
)
- (func $func_9_invoker
- (drop
- (call $func_9)
- )
- (call $log-i32
- (call $hashMemory)
+ (func $func_11 (result f64)
+ (local $0 v128)
+ (local $1 f32)
+ (local $2 v128)
+ (local $3 funcref)
+ (local $4 v128)
+ (local $5 nullref)
+ (local $6 i32)
+ (local $7 i32)
+ (local $8 funcref)
+ (local $9 v128)
+ (local $10 v128)
+ (local $11 v128)
+ (local $12 funcref)
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return
+ (f64.const 5)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
)
+ (f64.const 1.6293189712507804e-52)
)
- (func $func_11 (param $0 f64) (result v128)
- (local $1 nullref)
- (local $2 f32)
- (local $3 funcref)
- (local $4 i64)
+ (func $func_12 (result nullref)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (v128.const i32x4 0x314e0000 0x0000e901 0x19000354 0x0001e501)
+ (ref.null)
)
)
(global.set $hangLimit
@@ -363,39 +418,45 @@
)
)
)
- (v128.const i32x4 0x00020000 0x00000000 0xfffffff3 0xffffffff)
+ (block $label$0
+ (nop)
+ (return
+ (ref.null)
+ )
+ )
)
- (func $func_11_invoker
+ (func $func_12_invoker
(drop
- (call $func_11
- (f64.const -1.1754943508222875e-38)
- )
+ (call $func_12)
)
- (call $log-i32
- (call $hashMemory)
+ (drop
+ (call $func_12)
)
(drop
- (call $func_11
- (f64.const 536870912)
- )
+ (call $func_12)
)
(call $log-i32
(call $hashMemory)
)
(drop
- (call $func_11
- (f64.const 6009)
- )
+ (call $func_12)
+ )
+ (call $log-i32
+ (call $hashMemory)
)
)
- (func $func_13 (param $0 i64) (param $1 exnref) (param $2 f32) (param $3 funcref) (param $4 exnref)
- (local $5 v128)
+ (func $func_14 (param $0 nullref) (param $1 i64) (param $2 i64) (param $3 f64) (result nullref)
+ (local $4 f64)
+ (local $5 f32)
+ (local $6 i64)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
- (return)
+ (return
+ (ref.null)
+ )
)
(global.set $hangLimit
(i32.sub
@@ -404,62 +465,78 @@
)
)
)
- (call $log-i64
- (if (result i64)
+ (block $label$0 (result nullref)
+ (nop)
+ (block $label$1 (result nullref)
+ (local.get $0)
+ )
+ )
+ )
+ (func $func_15 (result f32)
+ (local $0 funcref)
+ (block
+ (if
(i32.eqz
- (i32.const 3084)
+ (global.get $hangLimit)
)
- (block $label$0 (result i64)
- (call $log-i32
- (call $hashMemory)
- )
- (if (result i64)
- (i32.eqz
- (if (result i32)
- (i32.eqz
- (loop $label$1
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return)
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (block $label$2
- (call $log-i32
- (call $hashMemory)
- )
- (return)
- )
- )
- )
- (i32.const 1532511570)
- (i32.const 52123137)
+ (return
+ (f32.const -0)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
+ )
+ (block $label$0
+ (call $log-f32
+ (loop $label$1 (result f32)
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return
+ (f32.const 0)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
)
)
- (i64.const -110)
- (block $label$3
+ )
+ (block (result f32)
+ (block $label$2
(nop)
- (return)
+ (nop)
+ )
+ (br_if $label$1
+ (i32.eqz
+ (i32.const 31868)
+ )
)
+ (f32.const -18446744073709551615)
)
)
- (block $label$4
- (nop)
- (loop $label$6
+ )
+ (if
+ (block $label$3
+ (call $log-exnref
+ (ref.null)
+ )
+ (loop $label$4
(block
(if
(i32.eqz
(global.get $hangLimit)
)
- (return)
+ (return
+ (f32.const 0)
+ )
)
(global.set $hangLimit
(i32.sub
@@ -468,175 +545,64 @@
)
)
)
- (block $label$7
- (if
- (loop $label$8 (result i32)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return)
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (block $label$9 (result i32)
- (local.set $1
- (loop $label$10 (result exnref)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return)
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (block (result exnref)
- (block $label$11
- (if
- (i32.eqz
- (if (result i32)
- (i32.const -536870912)
- (i32.const 10016)
- (block $label$12
- (call $log-i32
- (i32.const 486999634)
- )
- (br $label$11)
- )
- )
- )
- (call $log-i32
- (call $hashMemory)
- )
- (block $label$13
- (nop)
- )
- )
- (call $log-i64
- (local.get $0)
- )
- )
- (br_if $label$10
- (i32.eqz
- (loop $label$14 (result i32)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return)
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (block (result i32)
- (block $label$15
- (local.tee $1
- (block $label$16
- (local.set $1
- (ref.null)
- )
- (br $label$14)
- )
- )
- (block $label$17
- (call $log-i32
- (i32.const -41)
- )
- (call $log-i32
- (call $hashMemory)
- )
- )
- )
- (br_if $label$14
- (br_if $label$9
- (ref.is_null
- (ref.null)
- )
- (br_if $label$9
- (i32.const 262144)
- (i32.const 3084)
- )
- )
- )
- (i32.const 128)
- )
- )
- )
- )
- (local.get $4)
- )
- )
- )
- (i32.const 792338989)
- )
- )
- (block $label$18
- (loop $label$19
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return)
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (local.set $5
- (local.get $5)
- )
- )
- (nop)
- )
- (local.set $1
- (local.get $4)
- )
- )
- (br $label$6)
+ (call $log-exnref
+ (ref.null)
)
)
+ (return
+ (f32.const 2101943053617856459558324e13)
+ )
)
+ (block $label$5
+ (call $log-i32
+ (call $hashMemory)
+ )
+ (br_if $label$5
+ (i32.eqz
+ (i32.const -2147483648)
+ )
+ )
+ )
+ (nop)
+ )
+ (return
+ (f32.const 35013904)
)
)
)
- (func $func_13_invoker
- (call $func_13
- (i64.const -9223372036854775808)
- (ref.null)
- (f32.const 9223372036854775808)
- (ref.func $log-i32)
- (ref.null)
+ (func $func_15_invoker
+ (drop
+ (call $func_15)
+ )
+ (call $log-i32
+ (call $hashMemory)
+ )
+ (drop
+ (call $func_15)
+ )
+ (drop
+ (call $func_15)
+ )
+ (call $log-i32
+ (call $hashMemory)
)
)
- (func $func_15 (result f64)
+ (func $func_17 (param $0 f64) (param $1 nullref) (param $2 i32) (param $3 funcref) (param $4 nullref) (result exnref)
+ (local $5 anyref)
+ (local $6 exnref)
+ (local $7 f32)
+ (local $8 f32)
+ (local $9 funcref)
+ (local $10 nullref)
+ (local $11 nullref)
+ (local $12 f32)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (f64.const 3.8437398592487645e-236)
+ (ref.null)
)
)
(global.set $hangLimit
@@ -646,29 +612,36 @@
)
)
)
- (f64.const 0)
+ (local.tee $6
+ (local.tee $6
+ (ref.null)
+ )
+ )
)
- (func $func_16 (param $0 f64) (param $1 exnref) (result v128)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (v128.const i32x4 0x000800ff 0x42410000 0x223a652c 0x4000fff8)
- )
+ (func $func_17_invoker
+ (drop
+ (call $func_17
+ (f64.const 3.2330574282313187e-229)
+ (ref.null)
+ (i32.const 65536)
+ (ref.func $func_10)
+ (ref.null)
)
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
+ )
+ (drop
+ (call $func_17
+ (f64.const 2.2250738585072014e-308)
+ (ref.null)
+ (i32.const -66)
+ (ref.func $func_15_invoker)
+ (ref.null)
)
)
- (v128.const i32x4 0x00000000 0x00000000 0x444b4141 0x40434a4a)
+ (call $log-i32
+ (call $hashMemory)
+ )
)
- (func $func_17 (param $0 f64) (param $1 exnref) (result anyref)
- (local $2 nullref)
+ (func $func_19 (result exnref)
(block
(if
(i32.eqz
@@ -685,62 +658,35 @@
)
)
)
- (if (result nullref)
- (i32.eqz
- (i32.const 262144)
- )
+ (select (result nullref)
(ref.null)
(ref.null)
+ (i32.const 1)
)
)
- (func $func_18 (result i64)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (i64.const 4096)
- )
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
+ (func $func_19_invoker
+ (drop
+ (call $func_19)
)
- (loop $label$0 (result i64)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (i64.const 15)
- )
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (i64.const 6509766706562358106)
+ (call $log-i32
+ (call $hashMemory)
+ )
+ (drop
+ (call $func_19)
+ )
+ (call $log-i32
+ (call $hashMemory)
)
)
- (func $func_19 (result i64)
- (local $0 anyref)
- (local $1 funcref)
- (local $2 f64)
+ (func $func_21 (param $0 f32) (param $1 anyref) (param $2 v128) (result f64)
+ (local $3 f32)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (i64.const 21339)
+ (f64.const -35)
)
)
(global.set $hangLimit
@@ -751,52 +697,140 @@
)
)
(block $label$0
- (nop)
+ (if
+ (i32.const -1024)
+ (block $label$1
+ (if
+ (loop $label$2 (result i32)
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return
+ (f64.const 218)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
+ )
+ (block (result i32)
+ (local.set $0
+ (local.get $3)
+ )
+ (br_if $label$2
+ (i32.eqz
+ (i32.const -127)
+ )
+ )
+ (loop $label$5 (result i32)
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return
+ (f64.const 18250224326260770977349632)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
+ )
+ (block (result i32)
+ (local.tee $2
+ (loop $label$6
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
+ )
+ (return
+ (f64.const 536870912)
+ )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
+ )
+ )
+ )
+ (block $label$7
+ (br $label$1)
+ )
+ )
+ )
+ (br_if $label$5
+ (i32.const 37771863)
+ )
+ (i32.const 1026961235)
+ )
+ )
+ )
+ )
+ (local.set $0
+ (f32.const 15574585428672512)
+ )
+ (block $label$15
+ (call $log-i32
+ (call $hashMemory)
+ )
+ )
+ )
+ (nop)
+ )
+ (nop)
+ )
(return
- (i64.const -2199023255552)
+ (f64.const 302456592)
)
)
)
- (func $func_20 (result f64)
- (local $0 v128)
- (local $1 f32)
- (local $2 v128)
- (local $3 funcref)
- (local $4 v128)
- (local $5 nullref)
- (local $6 i32)
- (local $7 i32)
- (local $8 funcref)
- (local $9 v128)
- (local $10 v128)
- (local $11 v128)
- (local $12 funcref)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (f64.const 5)
- )
+ (func $func_21_invoker
+ (drop
+ (call $func_21
+ (f32.const 589308224)
+ (ref.null)
+ (v128.const i32x4 0xffffff81 0x04070504 0x02007d03 0xfffffe00)
)
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
+ )
+ (drop
+ (call $func_21
+ (f32.const 168096624)
+ (ref.null)
+ (v128.const i32x4 0x4ed626fe 0x74770f63 0xdf000000 0x564a5657)
)
)
- (f64.const 1.6293189712507804e-52)
+ (drop
+ (call $func_21
+ (f32.const 707669312)
+ (ref.null)
+ (v128.const i32x4 0x0000001f 0xfc7f3000 0x00005c00 0x5f110d0f)
+ )
+ )
+ (call $log-i32
+ (call $hashMemory)
+ )
)
- (func $func_21 (result nullref)
+ (func $func_23 (param $0 v128) (result i64)
+ (local $1 i32)
+ (local $2 f64)
+ (local $3 f64)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (ref.null)
+ (i64.const 2147483646)
)
)
(global.set $hangLimit
@@ -807,53 +841,44 @@
)
)
(block $label$0
- (nop)
+ (local.set $3
+ (local.tee $3
+ (local.get $3)
+ )
+ )
(return
- (ref.null)
+ (i64.const 110)
)
)
)
- (func $func_21_invoker
- (drop
- (call $func_21)
- )
+ (func $func_23_invoker
(drop
- (call $func_21)
- )
- (drop
- (call $func_21)
+ (call $func_23
+ (v128.const i32x4 0xf0000000 0x00000046 0x00080000 0x513d3229)
+ )
)
(call $log-i32
(call $hashMemory)
)
(drop
- (call $func_21)
+ (call $func_23
+ (v128.const i32x4 0x4409256e 0xff807c7c 0x0000ffa1 0x51378000)
+ )
)
(call $log-i32
(call $hashMemory)
)
)
- (func $func_23 (param $0 nullref) (param $1 funcref) (param $2 nullref) (param $3 exnref) (result anyref)
- (local $4 exnref)
- (local $5 i32)
- (local $6 i32)
- (local $7 f32)
- (local $8 i32)
- (local $9 funcref)
- (local $10 nullref)
- (local $11 anyref)
- (local $12 v128)
- (local $13 anyref)
- (local $14 f32)
- (local $15 f32)
- (local $16 funcref)
+ (func $func_25 (param $0 anyref) (param $1 nullref) (param $2 v128) (param $3 f64) (result exnref)
+ (local $4 i64)
+ (local $5 nullref)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (local.get $11)
+ (ref.null)
)
)
(global.set $hangLimit
@@ -865,14 +890,15 @@
)
(ref.null)
)
- (func $func_24 (param $0 f32) (result exnref)
+ (func $func_26 (param $0 v128) (param $1 i64) (param $2 nullref) (param $3 i64) (param $4 v128) (result f64)
+ (local $5 funcref)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
- (ref.null)
+ (f64.const 18505)
)
)
(global.set $hangLimit
@@ -882,102 +908,34 @@
)
)
)
- (if (result nullref)
- (i32.const 926356344)
- (block $label$0 (result nullref)
- (local.set $0
- (local.tee $0
- (f32.const 9223372036854775808)
+ (loop $label$0 (result f64)
+ (block
+ (if
+ (i32.eqz
+ (global.get $hangLimit)
)
- )
- (loop $label$1 (result nullref)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (ref.null)
- )
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
+ (return
+ (f64.const -1)
)
- (block (result nullref)
- (block $label$2
- (block $label$3
- (nop)
- )
- (nop)
- )
- (br_if $label$1
- (i32.const -16777216)
- )
- (block $label$4 (result nullref)
- (block $label$5
- (local.set $0
- (if (result f32)
- (loop $label$6 (result i32)
- (block
- (if
- (i32.eqz
- (global.get $hangLimit)
- )
- (return
- (ref.null)
- )
- )
- (global.set $hangLimit
- (i32.sub
- (global.get $hangLimit)
- (i32.const 1)
- )
- )
- )
- (block (result i32)
- (block $label$7
- (nop)
- (nop)
- )
- (br_if $label$6
- (i32.eqz
- (block $label$8
- (block $label$9
- (nop)
- (br_if $label$1
- (i32.const -134217728)
- )
- )
- (br $label$6)
- )
- )
- )
- (i32.const 6924)
- )
- )
- (local.tee $0
- (f32.const 1668112640)
- )
- (f32.const 1.6767243896965264e-30)
- )
- )
- (nop)
- (nop)
- )
- (ref.null)
- )
+ )
+ (global.set $hangLimit
+ (i32.sub
+ (global.get $hangLimit)
+ (i32.const 1)
)
)
)
- (block $label$11
- (nop)
- (return
- (ref.null)
+ (block (result f64)
+ (block $label$1
+ (nop)
+ (call $log-v128
+ (v128.const i32x4 0x00000000 0xc3e00000 0x00000000 0x403c0000)
+ )
+ )
+ (br_if $label$0
+ (i32.const 127)
)
+ (f64.const 2147483647)
)
)
)