diff options
-rw-r--r-- | src/tools/fuzzing.h | 5 | ||||
-rw-r--r-- | test/passes/translate-to-fuzz_all-features.txt | 1042 | ||||
-rw-r--r-- | test/passes/translate-to-fuzz_no-fuzz-nans_all-features.txt | 1007 |
3 files changed, 924 insertions, 1130 deletions
diff --git a/src/tools/fuzzing.h b/src/tools/fuzzing.h index 96dd43826..f08fac2d9 100644 --- a/src/tools/fuzzing.h +++ b/src/tools/fuzzing.h @@ -428,8 +428,9 @@ private: Type type = getConcreteType(); std::vector<Type> params; params.push_back(type); - Index numValues = upToSquared(MAX_PARAMS - 1); - for (Index i = 0; i < numValues + 1; i++) { + Index numValues = + wasm.features.hasMultivalue() ? upToSquared(MAX_PARAMS) : upTo(2); + for (Index i = 0; i < numValues; i++) { params.push_back(getConcreteType()); } auto* event = builder.makeEvent(std::string("event$") + std::to_string(i), diff --git a/test/passes/translate-to-fuzz_all-features.txt b/test/passes/translate-to-fuzz_all-features.txt index 3255c757d..9ddd50b71 100644 --- a/test/passes/translate-to-fuzz_all-features.txt +++ b/test/passes/translate-to-fuzz_all-features.txt @@ -1,27 +1,24 @@ (module (type $none_=>_none (func)) - (type $none_=>_i32 (func (result i32))) (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_=>_none (func (param f64 exnref))) + (type $f64_exnref_exnref_=>_none (func (param f64 exnref exnref))) (type $v128_=>_none (func (param v128))) - (type $anyref_i64_i32_f32_nullref_exnref_=>_none (func (param anyref i64 i32 f32 nullref exnref))) (type $nullref_=>_none (func (param nullref))) - (type $exnref_=>_none (func (param exnref))) - (type $exnref_f32_v128_i32_funcref_=>_none (func (param exnref f32 v128 i32 funcref))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $f32_=>_i64 (func (param f32) (result i64))) - (type $none_=>_f32 (func (result f32))) - (type $none_=>_funcref (func (result funcref))) - (type $v128_anyref_i32_i32_=>_funcref (func (param v128 anyref i32 i32) (result funcref))) - (type $f64_i32_i64_f64_f32_=>_anyref (func (param f64 i32 i64 f64 f32) (result anyref))) - (type $nullref_=>_anyref (func (param nullref) (result anyref))) - (type $i32_exnref_exnref_v128_v128_v128_=>_nullref (func (param i32 exnref exnref v128 v128 v128) (result nullref))) - (type $f32_v128_v128_f32_=>_nullref (func (param f32 v128 v128 f32) (result nullref))) - (type $v128_=>_nullref (func (param v128) (result nullref))) + (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_=>_nullref (func (result nullref))) + (type $f32_=>_exnref (func (param f32) (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))) @@ -31,8 +28,8 @@ (import "fuzzing-support" "log-exnref" (func $log-exnref (param exnref))) (memory $0 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_8 $func_13 $func_13 $func_13 $func_14 $func_15 $func_17 $func_23 $func_23 $func_31) + (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) (global $global$0 (mut i32) (i32.const 975663930)) (global $global$1 (mut i32) (i32.const 2066300474)) (global $global$2 (mut i64) (i64.const 20510)) @@ -43,25 +40,21 @@ (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)) - (event $event$1 (attr 0) (param exnref f32 v128 i32 funcref)) + (event $event$0 (attr 0) (param f64 exnref exnref)) + (event $event$1 (attr 0) (param exnref)) (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" (func $func_13)) - (export "func_15_invoker" (func $func_15_invoker)) - (export "func_17_invoker" (func $func_17_invoker)) - (export "func_19_invoker" (func $func_19_invoker)) - (export "func_23_invoker" (func $func_23_invoker)) - (export "func_25_invoker" (func $func_25_invoker)) - (export "func_27_invoker" (func $func_27_invoker)) - (export "func_29_invoker" (func $func_29_invoker)) - (export "func_31" (func $func_31)) - (export "func_31_invoker" (func $func_31_invoker)) - (export "func_34" (func $func_34)) - (export "func_34_invoker" (func $func_34_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_21_invoker" (func $func_21_invoker)) + (export "func_23" (func $func_23)) + (export "func_24" (func $func_24)) (export "hangLimitInitializer" (func $hangLimitInitializer)) (func $hashMemory (; 7 ;) (result i32) (local $0 i32) @@ -294,23 +287,15 @@ ) (local.get $0) ) - (func $func_8 (; 8 ;) - (local $0 v128) - (local $1 exnref) - (local $2 f64) - (local $3 f32) - (local $4 i64) - (local $5 funcref) - (local $6 v128) - (local $7 funcref) - (local $8 i64) - (local $9 funcref) + (func $func_8 (; 8 ;) (result anyref) (block (if (i32.eqz (global.get $hangLimit) ) - (return) + (return + (ref.null) + ) ) (global.set $hangLimit (i32.sub @@ -319,30 +304,19 @@ ) ) ) - (block $label$0 - (nop) - (local.set $9 - (local.tee $7 - (local.tee $7 - (local.tee $9 - (local.tee $5 - (local.tee $7 - (local.get $9) - ) - ) - ) - ) - ) - ) - ) + (ref.null) ) - (func $func_9 (; 9 ;) (param $0 anyref) (param $1 i64) (param $2 i32) (param $3 f32) (param $4 nullref) (param $5 exnref) + (func $func_9 (; 9 ;) (result i64) + (local $0 v128) + (local $1 f64) (block (if (i32.eqz (global.get $hangLimit) ) - (return) + (return + (i64.const 127) + ) ) (global.set $hangLimit (i32.sub @@ -351,52 +325,33 @@ ) ) ) - (call $log-exnref - (block $label$0 - (call $log-f64 - (f64.const 27) - ) - (return) + (block $label$0 (result i64) + (call $log-i32 + (call $hashMemory) ) + (i64.const 18014398509481984) ) ) (func $func_9_invoker (; 10 ;) - (call $func_9 - (ref.null) - (i64.const -114) - (i32.const -1) - (f32.const -nan:0x7ffff0) - (ref.null) - (ref.null) - ) - (call $func_9 - (ref.null) - (i64.const -128) - (i32.const 2147483647) - (f32.const 2305843009213693952) - (ref.null) - (ref.null) - ) - (call $func_9 - (ref.null) - (i64.const -84) - (i32.const -77) - (f32.const 65463) - (ref.null) - (ref.null) + (drop + (call $func_9) ) (call $log-i32 (call $hashMemory) ) ) - (func $func_11 (; 11 ;) (param $0 f32) (param $1 v128) (param $2 v128) (param $3 f32) (result nullref) + (func $func_11 (; 11 ;) (param $0 f64) (result v128) + (local $1 nullref) + (local $2 f32) + (local $3 funcref) + (local $4 i64) (block (if (i32.eqz (global.get $hangLimit) ) (return - (ref.null) + (v128.const i32x4 0x314e0000 0x0000e901 0x19000354 0x0001e501) ) ) (global.set $hangLimit @@ -406,83 +361,39 @@ ) ) ) - (ref.null) + (v128.const i32x4 0x00020000 0x00000000 0xfffffff3 0xffffffff) ) (func $func_11_invoker (; 12 ;) (drop (call $func_11 - (f32.const -4) - (v128.const i32x4 0xffffffe8 0x00000a12 0x00000002 0xffffff80) - (v128.const i32x4 0x00000000 0x00000001 0x00000000 0x40000000) - (f32.const 4503599627370496) + (f64.const -1.1754943508222875e-38) ) ) + (call $log-i32 + (call $hashMemory) + ) (drop (call $func_11 - (f32.const 2.7426516613360263e-09) - (v128.const i32x4 0x0d080315 0x00001811 0xfffffc00 0x0000007f) - (v128.const i32x4 0x0000187f 0x042c50ee 0x005c171b 0x001a1b1a) - (f32.const -nan:0x7ffff0) - ) - ) - ) - (func $func_13 (; 13 ;) (result i64) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (i64.const 114) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) + (f64.const 536870912) ) ) - (i64.const 9093677305969276536) - ) - (func $func_14 (; 14 ;) (result i64) - (local $0 i64) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) + (call $log-i32 + (call $hashMemory) ) - (block $label$0 - (nop) - (return - (i64.const 302456592) + (drop + (call $func_11 + (f64.const 6009) ) ) ) - (func $func_15 (; 15 ;) (param $0 v128) (param $1 anyref) (param $2 i32) (param $3 i32) (result funcref) - (local $4 funcref) - (local $5 f64) - (local $6 i32) - (local $7 i64) + (func $func_13 (; 13 ;) (param $0 i64) (param $1 exnref) (param $2 f32) (param $3 funcref) (param $4 exnref) + (local $5 v128) (block (if (i32.eqz (global.get $hangLimit) ) - (return - (local.get $4) - ) + (return) ) (global.set $hangLimit (i32.sub @@ -491,95 +402,239 @@ ) ) ) - (block $label$0 - (call $log-exnref - (ref.null) - ) - (return - (local.get $4) - ) - ) - ) - (func $func_15_invoker (; 16 ;) - (drop - (call $func_15 - (v128.const i32x4 0x00080000 0x1a180e76 0x3a25515d 0xffff8001) - (ref.null) - (i32.const 202116108) - (i32.const 151587164) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - ) - (func $func_17 (; 17 ;) (result i32) - (local $0 i64) - (local $1 v128) - (local $2 v128) - (local $3 f32) - (local $4 funcref) - (block - (if + (call $log-i64 + (if (result i64) (i32.eqz - (global.get $hangLimit) - ) - (return - (i32.const 332) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) + (i32.const 3084) ) - ) - ) - (block $label$0 - (loop $label$1 - (block - (if + (block $label$0 (result i64) + (call $log-i32 + (call $hashMemory) + ) + (if (result i64) (i32.eqz - (global.get $hangLimit) - ) - (return - (i32.const -128) + (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) + ) ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) + (i64.const -110) + (block $label$3 + (nop) + (return) ) ) ) - (block $label$2 - (nop) + (block $label$4 (nop) + (loop $label$6 + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return) + ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) + ) + ) + (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-i32 - (call $hashMemory) - ) - (return - (i32.const 84215045) - ) ) ) - (func $func_17_invoker (; 18 ;) - (drop - (call $func_17) + (func $func_13_invoker (; 14 ;) + (call $func_13 + (i64.const -9223372036854775808) + (ref.null) + (f32.const 9223372036854775808) + (ref.func $log-i32) + (ref.null) ) ) - (func $func_19 (; 19 ;) (param $0 i64) (result i32) - (local $1 f32) + (func $func_15 (; 15 ;) (result f64) (block (if (i32.eqz (global.get $hangLimit) ) (return - (i32.const 2) + (f64.const 3.8437398592487645e-236) ) ) (global.set $hangLimit @@ -589,39 +644,16 @@ ) ) ) - (i32.const 65536) - ) - (func $func_19_invoker (; 20 ;) - (drop - (call $func_19 - (i64.const 129) - ) - ) - (drop - (call $func_19 - (i64.const 562949953421312) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - (drop - (call $func_19 - (i64.const -32767) - ) - ) - (call $log-i32 - (call $hashMemory) - ) + (f64.const -nan:0xfffffffffffa1) ) - (func $func_21 (; 21 ;) (result i32) + (func $func_16 (; 16 ;) (param $0 f64) (param $1 exnref) (result v128) (block (if (i32.eqz (global.get $hangLimit) ) (return - (i32.const 90) + (v128.const i32x4 0x000800ff 0x42410000 0x223a652c 0x4000fff8) ) ) (global.set $hangLimit @@ -631,26 +663,17 @@ ) ) ) - (block $label$0 - (nop) - (return - (i32.const 7446) - ) - ) + (v128.const i32x4 0xffffffb4 0xffffffff 0x444b4141 0x40434a4a) ) - (func $func_22 (; 22 ;) (result f32) - (local $0 i64) - (local $1 exnref) - (local $2 funcref) - (local $3 i64) - (local $4 anyref) + (func $func_17 (; 17 ;) (param $0 f64) (param $1 exnref) (result anyref) + (local $2 nullref) (block (if (i32.eqz (global.get $hangLimit) ) (return - (f32.const 21554) + (ref.null) ) ) (global.set $hangLimit @@ -660,21 +683,22 @@ ) ) ) - (block $label$0 - (return - (f32.const -1.1754943508222875e-38) + (if (result nullref) + (i32.eqz + (i32.const 262144) ) + (ref.null) + (ref.null) ) ) - (func $func_23 (; 23 ;) (param $0 nullref) (result anyref) - (local $1 exnref) + (func $func_18 (; 18 ;) (result i64) (block (if (i32.eqz (global.get $hangLimit) ) (return - (ref.null) + (i64.const 4096) ) ) (global.set $hangLimit @@ -684,159 +708,37 @@ ) ) ) - (block $label$0 (result nullref) - (nop) - (loop $label$2 (result nullref) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (ref.null) - ) + (loop $label$0 (result i64) + (block + (if + (i32.eqz + (global.get $hangLimit) ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) + (return + (i64.const 15) ) ) - (loop $label$3 (result nullref) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (ref.null) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result nullref) - (call $log-i32 - (call $hashMemory) - ) - (br_if $label$3 - (i32.const 12) - ) - (ref.null) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) ) ) ) + (i64.const 6509766706562358106) ) ) - (func $func_23_invoker (; 24 ;) - (drop - (call $func_23 - (ref.null) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - (drop - (call $func_23 - (ref.null) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - (drop - (call $func_23 - (ref.null) - ) - ) - ) - (func $func_25 (; 25 ;) (param $0 f32) (result i64) - (local $1 i32) + (func $func_19 (; 19 ;) (result i64) + (local $0 anyref) + (local $1 funcref) (local $2 f64) - (local $3 funcref) - (local $4 i32) - (local $5 f32) - (local $6 anyref) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (i64.const -9223372036854775808) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (i64.const -16) - ) - (func $func_25_invoker (; 26 ;) - (drop - (call $func_25 - (f32.const 30) - ) - ) - (drop - (call $func_25 - (f32.const 17179869184) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - (drop - (call $func_25 - (f32.const 2147483648) - ) - ) - (drop - (call $func_25 - (f32.const -nan:0x7fffc1) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - (drop - (call $func_25 - (f32.const 9223372036854775808) - ) - ) - (drop - (call $func_25 - (f32.const 0) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - (drop - (call $func_25 - (f32.const 8760) - ) - ) - ) - (func $func_27 (; 27 ;) (param $0 i32) (param $1 exnref) (param $2 exnref) (param $3 v128) (param $4 v128) (param $5 v128) (result nullref) - (local $6 f32) - (local $7 v128) (block (if (i32.eqz (global.get $hangLimit) ) (return - (ref.null) + (i64.const 21339) ) ) (global.set $hangLimit @@ -847,37 +749,33 @@ ) ) (block $label$0 - (call $log-i64 - (i64.const 84) - ) + (nop) (return - (ref.null) + (i64.const -2199023255552) ) ) ) - (func $func_27_invoker (; 28 ;) - (drop - (call $func_27 - (i32.const -69) - (ref.null) - (ref.null) - (v128.const i32x4 0x00000000 0x40800800 0x00000000 0x42200000) - (v128.const i32x4 0x00800000 0x42dc0000 0x40000000 0xcf000000) - (v128.const i32x4 0x00000000 0x41e00000 0x00000000 0x38100000) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - ) - (func $func_29 (; 29 ;) (result i32) + (func $func_20 (; 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 - (i32.const 7) + (f64.const 5) ) ) (global.set $hangLimit @@ -887,14 +785,9 @@ ) ) ) - (i32.const -18) + (f64.const 1.6293189712507804e-52) ) - (func $func_29_invoker (; 30 ;) - (drop - (call $func_29) - ) - ) - (func $func_31 (; 31 ;) (param $0 v128) (result nullref) + (func $func_21 (; 21 ;) (result nullref) (block (if (i32.eqz @@ -911,99 +804,54 @@ ) ) ) - (if - (i32.load8_s offset=22 - (i32.and - (i32.const 774514976) - (i32.const 15) - ) - ) - (select - (block $label$0 - (block $label$1 - (block $label$5 - (call $log-i32 - (call $hashMemory) - ) - (return - (ref.null) - ) - ) - ) - ) - (return_call $func_31 - (local.tee $0 - (v128.const i32x4 0x00000000 0xc3e00000 0x00000000 0x40b70500) - ) - ) - (i32.const 0) - ) - (block $label$3 - (nop) - (block $label$4 - (call $log-f32 - (f32.const -1152921504606846976) - ) - (return_call $func_31 - (v128.const i32x4 0x08000000 0x00000000 0xffff8000 0xffffffff) - ) - ) + (block $label$0 + (nop) + (return + (ref.null) ) ) ) - (func $func_31_invoker (; 32 ;) + (func $func_21_invoker (; 22 ;) (drop - (call $func_31 - (v128.const i32x4 0x00080000 0x00000081 0xffffffad 0x00000001) - ) + (call $func_21) + ) + (drop + (call $func_21) + ) + (drop + (call $func_21) + ) + (call $log-i32 + (call $hashMemory) + ) + (drop + (call $func_21) ) (call $log-i32 (call $hashMemory) ) ) - (func $func_33 (; 33 ;) - (local $0 i32) - (local $1 f64) - (local $2 i64) - (local $3 f64) - (local $4 i64) - (local $5 anyref) + (func $func_23 (; 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 v128) + (local $7 f32) (local $8 i32) - (local $9 f64) - (local $10 f64) - (local $11 nullref) + (local $9 funcref) + (local $10 nullref) + (local $11 anyref) (local $12 v128) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (local.set $11 - (ref.null) - ) - ) - (func $func_34 (; 34 ;) (param $0 f64) (param $1 i32) (param $2 i64) (param $3 f64) (param $4 f32) (result anyref) - (local $5 funcref) - (local $6 f32) - (local $7 funcref) + (local $13 anyref) + (local $14 f32) + (local $15 f32) + (local $16 funcref) (block (if (i32.eqz (global.get $hangLimit) ) (return - (ref.null) + (local.get $11) ) ) (global.set $hangLimit @@ -1015,31 +863,7 @@ ) (ref.null) ) - (func $func_34_invoker (; 35 ;) - (drop - (call $func_34 - (f64.const -2.2250738585072014e-308) - (i32.const 1679427100) - (i64.const 5402) - (f64.const -1.1754943508222875e-38) - (f32.const 16384) - ) - ) - (drop - (call $func_34 - (f64.const 4294967296) - (i32.const 0) - (i64.const 19531) - (f64.const 1256914182047749521306957e208) - (f32.const 470816288) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - ) - (func $func_36 (; 36 ;) (result funcref) - (local $0 nullref) + (func $func_24 (; 24 ;) (param $0 f32) (result exnref) (block (if (i32.eqz @@ -1056,60 +880,150 @@ ) ) ) - (block $label$0 (result funcref) - (call $log-f32 - (block $label$1 - (call $log-i32 - (call $hashMemory) - ) - (return - (ref.func $func_15_invoker) - ) + (if (result nullref) + (block (result i32) + (block $label$7 + (nop) + (nop) ) + (nop) + (i32.const 6924) ) - (loop $label$2 (result funcref) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (ref.func $func_27_invoker) + (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) + ) + ) + ) ) ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) + ) + (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) + ) ) ) - ) - (block (result funcref) - (block $label$3 - (br_if $label$2 - (i32.const 11) + (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) + ) ) - (br_if $label$2 - (i32.eqz - (i32.const -119) + ) + ) + (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 (result funcref) + (block $label$13 (nop) - (br_if $label$2 + (br_if $label$13 (i32.eqz - (i32.const -119) + (i32.const 64) ) ) - (ref.func $func_34_invoker) ) ) + (return + (ref.null) + ) ) ) ) - (func $hangLimitInitializer (; 37 ;) + (func $hangLimitInitializer (; 25 ;) (global.set $hangLimit (i32.const 10) ) 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 7a1000fd5..5abc83239 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,29 +1,26 @@ (module (type $none_=>_none (func)) - (type $none_=>_i32 (func (result i32))) (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_=>_none (func (param f64 exnref))) + (type $f64_exnref_exnref_=>_none (func (param f64 exnref exnref))) (type $v128_=>_none (func (param v128))) - (type $anyref_i64_i32_f32_nullref_exnref_=>_none (func (param anyref i64 i32 f32 nullref exnref))) (type $nullref_=>_none (func (param nullref))) - (type $exnref_=>_none (func (param exnref))) - (type $exnref_f32_v128_i32_funcref_=>_none (func (param exnref f32 v128 i32 funcref))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $f32_=>_i64 (func (param f32) (result i64))) - (type $none_=>_f32 (func (result f32))) + (type $none_=>_i32 (func (result i32))) (type $f32_=>_f32 (func (param f32) (result f32))) (type $f64_=>_f64 (func (param f64) (result f64))) - (type $none_=>_funcref (func (result funcref))) - (type $v128_anyref_i32_i32_=>_funcref (func (param v128 anyref i32 i32) (result funcref))) - (type $f64_i32_i64_f64_f32_=>_anyref (func (param f64 i32 i64 f64 f32) (result anyref))) - (type $nullref_=>_anyref (func (param nullref) (result anyref))) - (type $i32_exnref_exnref_v128_v128_v128_=>_nullref (func (param i32 exnref exnref v128 v128 v128) (result nullref))) - (type $f32_v128_v128_f32_=>_nullref (func (param f32 v128 v128 f32) (result nullref))) - (type $v128_=>_nullref (func (param v128) (result nullref))) + (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_=>_nullref (func (result nullref))) + (type $f32_=>_exnref (func (param f32) (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))) @@ -34,7 +31,7 @@ (memory $0 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_8 $func_13 $func_13 $func_13 $func_14 $func_15 $func_17 $func_23 $func_23 $func_31) + (elem (i32.const 0) $func_16 $func_16 $func_18 $func_19 $func_23 $func_23 $func_23 $func_23 $func_23 $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)) @@ -45,26 +42,21 @@ (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)) - (event $event$1 (attr 0) (param exnref f32 v128 i32 funcref)) + (event $event$0 (attr 0) (param f64 exnref exnref)) + (event $event$1 (attr 0) (param exnref)) (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" (func $func_13)) - (export "func_15_invoker" (func $func_15_invoker)) - (export "func_17_invoker" (func $func_17_invoker)) - (export "func_19_invoker" (func $func_19_invoker)) - (export "func_23_invoker" (func $func_23_invoker)) - (export "func_25_invoker" (func $func_25_invoker)) - (export "func_27_invoker" (func $func_27_invoker)) - (export "func_29_invoker" (func $func_29_invoker)) - (export "func_31" (func $func_31)) - (export "func_31_invoker" (func $func_31_invoker)) - (export "func_34" (func $func_34)) - (export "func_34_invoker" (func $func_34_invoker)) - (export "func_36" (func $func_36)) + (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_21_invoker" (func $func_21_invoker)) + (export "func_23" (func $func_23)) + (export "func_24" (func $func_24)) (export "hangLimitInitializer" (func $hangLimitInitializer)) (func $hashMemory (; 7 ;) (result i32) (local $0 i32) @@ -297,23 +289,15 @@ ) (local.get $0) ) - (func $func_8 (; 8 ;) - (local $0 v128) - (local $1 exnref) - (local $2 f64) - (local $3 f32) - (local $4 i64) - (local $5 funcref) - (local $6 v128) - (local $7 funcref) - (local $8 i64) - (local $9 funcref) + (func $func_8 (; 8 ;) (result anyref) (block (if (i32.eqz (global.get $hangLimit) ) - (return) + (return + (ref.null) + ) ) (global.set $hangLimit (i32.sub @@ -322,30 +306,19 @@ ) ) ) - (block $label$0 - (nop) - (local.set $9 - (local.tee $7 - (local.tee $7 - (local.tee $9 - (local.tee $5 - (local.tee $7 - (local.get $9) - ) - ) - ) - ) - ) - ) - ) + (ref.null) ) - (func $func_9 (; 9 ;) (param $0 anyref) (param $1 i64) (param $2 i32) (param $3 f32) (param $4 nullref) (param $5 exnref) + (func $func_9 (; 9 ;) (result i64) + (local $0 v128) + (local $1 f64) (block (if (i32.eqz (global.get $hangLimit) ) - (return) + (return + (i64.const 127) + ) ) (global.set $hangLimit (i32.sub @@ -354,52 +327,33 @@ ) ) ) - (call $log-exnref - (block $label$0 - (call $log-f64 - (f64.const 27) - ) - (return) + (block $label$0 (result i64) + (call $log-i32 + (call $hashMemory) ) + (i64.const 18014398509481984) ) ) (func $func_9_invoker (; 10 ;) - (call $func_9 - (ref.null) - (i64.const -114) - (i32.const -1) - (f32.const 0) - (ref.null) - (ref.null) - ) - (call $func_9 - (ref.null) - (i64.const -128) - (i32.const 2147483647) - (f32.const 2305843009213693952) - (ref.null) - (ref.null) - ) - (call $func_9 - (ref.null) - (i64.const -84) - (i32.const -77) - (f32.const 65463) - (ref.null) - (ref.null) + (drop + (call $func_9) ) (call $log-i32 (call $hashMemory) ) ) - (func $func_11 (; 11 ;) (param $0 f32) (param $1 v128) (param $2 v128) (param $3 f32) (result nullref) + (func $func_11 (; 11 ;) (param $0 f64) (result v128) + (local $1 nullref) + (local $2 f32) + (local $3 funcref) + (local $4 i64) (block (if (i32.eqz (global.get $hangLimit) ) (return - (ref.null) + (v128.const i32x4 0x314e0000 0x0000e901 0x19000354 0x0001e501) ) ) (global.set $hangLimit @@ -409,83 +363,39 @@ ) ) ) - (ref.null) + (v128.const i32x4 0x00020000 0x00000000 0xfffffff3 0xffffffff) ) (func $func_11_invoker (; 12 ;) (drop (call $func_11 - (f32.const -4) - (v128.const i32x4 0xffffffe8 0x00000a12 0x00000002 0xffffff80) - (v128.const i32x4 0x00000000 0x00000001 0x00000000 0x40000000) - (f32.const 4503599627370496) + (f64.const -1.1754943508222875e-38) ) ) + (call $log-i32 + (call $hashMemory) + ) (drop (call $func_11 - (f32.const 2.7426516613360263e-09) - (v128.const i32x4 0x0d080315 0x00001811 0xfffffc00 0x0000007f) - (v128.const i32x4 0x0000187f 0x042c50ee 0x005c171b 0x001a1b1a) - (f32.const 0) + (f64.const 536870912) ) ) - ) - (func $func_13 (; 13 ;) (result i64) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (i64.const 114) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (i64.const 9093677305969276536) - ) - (func $func_14 (; 14 ;) (result i64) - (local $0 i64) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (local.get $0) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) + (call $log-i32 + (call $hashMemory) ) - (block $label$0 - (nop) - (return - (i64.const 302456592) + (drop + (call $func_11 + (f64.const 6009) ) ) ) - (func $func_15 (; 15 ;) (param $0 v128) (param $1 anyref) (param $2 i32) (param $3 i32) (result funcref) - (local $4 funcref) - (local $5 f64) - (local $6 i32) - (local $7 i64) + (func $func_13 (; 13 ;) (param $0 i64) (param $1 exnref) (param $2 f32) (param $3 funcref) (param $4 exnref) + (local $5 v128) (block (if (i32.eqz (global.get $hangLimit) ) - (return - (local.get $4) - ) + (return) ) (global.set $hangLimit (i32.sub @@ -494,95 +404,239 @@ ) ) ) - (block $label$0 - (call $log-exnref - (ref.null) - ) - (return - (local.get $4) - ) - ) - ) - (func $func_15_invoker (; 16 ;) - (drop - (call $func_15 - (v128.const i32x4 0x00080000 0x1a180e76 0x3a25515d 0xffff8001) - (ref.null) - (i32.const 202116108) - (i32.const 151587164) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - ) - (func $func_17 (; 17 ;) (result i32) - (local $0 i64) - (local $1 v128) - (local $2 v128) - (local $3 f32) - (local $4 funcref) - (block - (if + (call $log-i64 + (if (result i64) (i32.eqz - (global.get $hangLimit) - ) - (return - (i32.const 332) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) + (i32.const 3084) ) - ) - ) - (block $label$0 - (loop $label$1 - (block - (if + (block $label$0 (result i64) + (call $log-i32 + (call $hashMemory) + ) + (if (result i64) (i32.eqz - (global.get $hangLimit) - ) - (return - (i32.const -128) + (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) + ) ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) + (i64.const -110) + (block $label$3 + (nop) + (return) ) ) ) - (block $label$2 - (nop) + (block $label$4 (nop) + (loop $label$6 + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return) + ) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) + ) + ) + (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-i32 - (call $hashMemory) - ) - (return - (i32.const 84215045) - ) ) ) - (func $func_17_invoker (; 18 ;) - (drop - (call $func_17) + (func $func_13_invoker (; 14 ;) + (call $func_13 + (i64.const -9223372036854775808) + (ref.null) + (f32.const 9223372036854775808) + (ref.func $log-i32) + (ref.null) ) ) - (func $func_19 (; 19 ;) (param $0 i64) (result i32) - (local $1 f32) + (func $func_15 (; 15 ;) (result f64) (block (if (i32.eqz (global.get $hangLimit) ) (return - (i32.const 2) + (f64.const 3.8437398592487645e-236) ) ) (global.set $hangLimit @@ -592,39 +646,16 @@ ) ) ) - (i32.const 65536) + (f64.const 0) ) - (func $func_19_invoker (; 20 ;) - (drop - (call $func_19 - (i64.const 129) - ) - ) - (drop - (call $func_19 - (i64.const 562949953421312) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - (drop - (call $func_19 - (i64.const -32767) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - ) - (func $func_21 (; 21 ;) (result i32) + (func $func_16 (; 16 ;) (param $0 f64) (param $1 exnref) (result v128) (block (if (i32.eqz (global.get $hangLimit) ) (return - (i32.const 90) + (v128.const i32x4 0x000800ff 0x42410000 0x223a652c 0x4000fff8) ) ) (global.set $hangLimit @@ -634,26 +665,17 @@ ) ) ) - (block $label$0 - (nop) - (return - (i32.const 7446) - ) - ) + (v128.const i32x4 0x00000000 0x00000000 0x444b4141 0x40434a4a) ) - (func $func_22 (; 22 ;) (result f32) - (local $0 i64) - (local $1 exnref) - (local $2 funcref) - (local $3 i64) - (local $4 anyref) + (func $func_17 (; 17 ;) (param $0 f64) (param $1 exnref) (result anyref) + (local $2 nullref) (block (if (i32.eqz (global.get $hangLimit) ) (return - (f32.const 21554) + (ref.null) ) ) (global.set $hangLimit @@ -663,21 +685,22 @@ ) ) ) - (block $label$0 - (return - (f32.const -1.1754943508222875e-38) + (if (result nullref) + (i32.eqz + (i32.const 262144) ) + (ref.null) + (ref.null) ) ) - (func $func_23 (; 23 ;) (param $0 nullref) (result anyref) - (local $1 exnref) + (func $func_18 (; 18 ;) (result i64) (block (if (i32.eqz (global.get $hangLimit) ) (return - (ref.null) + (i64.const 4096) ) ) (global.set $hangLimit @@ -687,159 +710,37 @@ ) ) ) - (block $label$0 (result nullref) - (nop) - (loop $label$2 (result nullref) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (ref.null) - ) + (loop $label$0 (result i64) + (block + (if + (i32.eqz + (global.get $hangLimit) ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) + (return + (i64.const 15) ) ) - (loop $label$3 (result nullref) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (ref.null) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (block (result nullref) - (call $log-i32 - (call $hashMemory) - ) - (br_if $label$3 - (i32.const 12) - ) - (ref.null) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) ) ) ) + (i64.const 6509766706562358106) ) ) - (func $func_23_invoker (; 24 ;) - (drop - (call $func_23 - (ref.null) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - (drop - (call $func_23 - (ref.null) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - (drop - (call $func_23 - (ref.null) - ) - ) - ) - (func $func_25 (; 25 ;) (param $0 f32) (result i64) - (local $1 i32) + (func $func_19 (; 19 ;) (result i64) + (local $0 anyref) + (local $1 funcref) (local $2 f64) - (local $3 funcref) - (local $4 i32) - (local $5 f32) - (local $6 anyref) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return - (i64.const -9223372036854775808) - ) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (i64.const -16) - ) - (func $func_25_invoker (; 26 ;) - (drop - (call $func_25 - (f32.const 30) - ) - ) - (drop - (call $func_25 - (f32.const 17179869184) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - (drop - (call $func_25 - (f32.const 2147483648) - ) - ) - (drop - (call $func_25 - (f32.const 0) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - (drop - (call $func_25 - (f32.const 9223372036854775808) - ) - ) - (drop - (call $func_25 - (f32.const 0) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - (drop - (call $func_25 - (f32.const 8760) - ) - ) - ) - (func $func_27 (; 27 ;) (param $0 i32) (param $1 exnref) (param $2 exnref) (param $3 v128) (param $4 v128) (param $5 v128) (result nullref) - (local $6 f32) - (local $7 v128) (block (if (i32.eqz (global.get $hangLimit) ) (return - (ref.null) + (i64.const 21339) ) ) (global.set $hangLimit @@ -850,37 +751,33 @@ ) ) (block $label$0 - (call $log-i64 - (i64.const 84) - ) + (nop) (return - (ref.null) - ) - ) - ) - (func $func_27_invoker (; 28 ;) - (drop - (call $func_27 - (i32.const -69) - (ref.null) - (ref.null) - (v128.const i32x4 0x00000000 0x40800800 0x00000000 0x42200000) - (v128.const i32x4 0x00800000 0x42dc0000 0x40000000 0xcf000000) - (v128.const i32x4 0x00000000 0x41e00000 0x00000000 0x38100000) + (i64.const -2199023255552) ) ) - (call $log-i32 - (call $hashMemory) - ) ) - (func $func_29 (; 29 ;) (result i32) + (func $func_20 (; 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 - (i32.const 7) + (f64.const 5) ) ) (global.set $hangLimit @@ -890,14 +787,9 @@ ) ) ) - (i32.const -18) - ) - (func $func_29_invoker (; 30 ;) - (drop - (call $func_29) - ) + (f64.const 1.6293189712507804e-52) ) - (func $func_31 (; 31 ;) (param $0 v128) (result nullref) + (func $func_21 (; 21 ;) (result nullref) (block (if (i32.eqz @@ -914,99 +806,54 @@ ) ) ) - (if - (i32.load8_s offset=22 - (i32.and - (i32.const 774514976) - (i32.const 15) - ) - ) - (select - (block $label$0 - (block $label$1 - (block $label$5 - (call $log-i32 - (call $hashMemory) - ) - (return - (ref.null) - ) - ) - ) - ) - (return_call $func_31 - (local.tee $0 - (v128.const i32x4 0x00000000 0xc3e00000 0x00000000 0x40b70500) - ) - ) - (i32.const 0) - ) - (block $label$3 - (nop) - (block $label$4 - (call $log-f32 - (f32.const -1152921504606846976) - ) - (return_call $func_31 - (v128.const i32x4 0x08000000 0x00000000 0xffff8000 0xffffffff) - ) - ) + (block $label$0 + (nop) + (return + (ref.null) ) ) ) - (func $func_31_invoker (; 32 ;) + (func $func_21_invoker (; 22 ;) (drop - (call $func_31 - (v128.const i32x4 0x00080000 0x00000081 0xffffffad 0x00000001) - ) + (call $func_21) + ) + (drop + (call $func_21) + ) + (drop + (call $func_21) + ) + (call $log-i32 + (call $hashMemory) + ) + (drop + (call $func_21) ) (call $log-i32 (call $hashMemory) ) ) - (func $func_33 (; 33 ;) - (local $0 i32) - (local $1 f64) - (local $2 i64) - (local $3 f64) - (local $4 i64) - (local $5 anyref) + (func $func_23 (; 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 v128) + (local $7 f32) (local $8 i32) - (local $9 f64) - (local $10 f64) - (local $11 nullref) + (local $9 funcref) + (local $10 nullref) + (local $11 anyref) (local $12 v128) - (block - (if - (i32.eqz - (global.get $hangLimit) - ) - (return) - ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) - ) - ) - ) - (local.set $11 - (ref.null) - ) - ) - (func $func_34 (; 34 ;) (param $0 f64) (param $1 i32) (param $2 i64) (param $3 f64) (param $4 f32) (result anyref) - (local $5 funcref) - (local $6 f32) - (local $7 funcref) + (local $13 anyref) + (local $14 f32) + (local $15 f32) + (local $16 funcref) (block (if (i32.eqz (global.get $hangLimit) ) (return - (ref.null) + (local.get $11) ) ) (global.set $hangLimit @@ -1018,31 +865,7 @@ ) (ref.null) ) - (func $func_34_invoker (; 35 ;) - (drop - (call $func_34 - (f64.const -2.2250738585072014e-308) - (i32.const 1679427100) - (i64.const 5402) - (f64.const -1.1754943508222875e-38) - (f32.const 16384) - ) - ) - (drop - (call $func_34 - (f64.const 4294967296) - (i32.const 0) - (i64.const 19531) - (f64.const 1256914182047749521306957e208) - (f32.const 470816288) - ) - ) - (call $log-i32 - (call $hashMemory) - ) - ) - (func $func_36 (; 36 ;) (result funcref) - (local $0 nullref) + (func $func_24 (; 24 ;) (param $0 f32) (result exnref) (block (if (i32.eqz @@ -1059,55 +882,111 @@ ) ) ) - (block $label$0 (result funcref) - (call $log-f32 - (block $label$1 - (call $log-i32 - (i32.const 117705997) - ) - (return - (ref.func $func_15_invoker) + (if (result nullref) + (i32.const 926356344) + (block $label$0 (result nullref) + (local.set $0 + (local.tee $0 + (f32.const 9223372036854775808) ) ) - ) - (loop $label$2 (result funcref) - (block - (if - (i32.eqz - (global.get $hangLimit) + (loop $label$1 (result nullref) + (block + (if + (i32.eqz + (global.get $hangLimit) + ) + (return + (ref.null) + ) ) - (return - (ref.func $func_17) + (global.set $hangLimit + (i32.sub + (global.get $hangLimit) + (i32.const 1) + ) ) ) - (global.set $hangLimit - (i32.sub - (global.get $hangLimit) - (i32.const 1) + (block (result nullref) + (block $label$2 + (block $label$3 + (nop) + ) + (nop) ) - ) - ) - (block (result funcref) - (block $label$3 - (br_if $label$3 - (i32.const 909193002) + (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) ) - (nop) - ) - (br_if $label$2 - (i32.const -2147483648) ) - (ref.func $func_17) + ) + ) + (block $label$11 + (nop) + (return + (ref.null) ) ) ) ) - (func $hangLimitInitializer (; 37 ;) + (func $hangLimitInitializer (; 25 ;) (global.set $hangLimit (i32.const 10) ) ) - (func $deNan32 (; 38 ;) (param $0 f32) (result f32) + (func $deNan32 (; 26 ;) (param $0 f32) (result f32) (if (result f32) (f32.eq (local.get $0) @@ -1117,7 +996,7 @@ (f32.const 0) ) ) - (func $deNan64 (; 39 ;) (param $0 f64) (result f64) + (func $deNan64 (; 27 ;) (param $0 f64) (result f64) (if (result f64) (f64.eq (local.get $0) |