blob: 5cfe2bc417d79966dfe5cb67dc660d5ca43f8ba7 [file] [edit]
(module
(type $none_=>_none (func))
(type $f32_=>_none (func (param f32)))
(type $nullref_=>_none (func (param nullref)))
(type $none_=>_externref_exnref_exnref_exnref (func (result externref exnref exnref exnref)))
(type $none_=>_exnref (func (result exnref)))
(type $i32_=>_none (func (param i32)))
(type $i64_=>_none (func (param i64)))
(type $f64_=>_none (func (param f64)))
(type $f64_i32_i64_f64_v128_=>_none (func (param f64 i32 i64 f64 v128)))
(type $v128_=>_none (func (param v128)))
(type $exnref_=>_none (func (param exnref)))
(type $none_=>_i32 (func (result i32)))
(type $funcref_f64_f32_v128_exnref_f32_=>_i64 (func (param funcref f64 f32 v128 exnref f32) (result i64)))
(type $externref_externref_f32_v128_funcref_funcref_=>_v128 (func (param externref externref f32 v128 funcref funcref) (result v128)))
(type $v128_=>_funcref (func (param v128) (result funcref)))
(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)))
(import "fuzzing-support" "log-f64" (func $log-f64 (param f64)))
(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 (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 2 2 funcref)
(elem (i32.const 0) $func_8 $func_12)
(global $global$5 (mut f32) (f32.const 74))
(global $global$4 (mut nullref) (ref.null))
(global $global$3 (mut i32) (i32.const 1263230471))
(global $global$2 (mut i32) (i32.const -131072))
(global $global$1 (mut (funcref nullref nullref externref exnref f64)) (tuple.make
(ref.null)
(ref.null)
(ref.null)
(ref.null)
(ref.null)
(f64.const 1.1754943508222875e-38)
))
(global $hangLimit (mut i32) (i32.const 10))
(event $event$0 (attr 0) (param nullref))
(event $event$1 (attr 0) (param f32))
(export "hashMemory" (func $hashMemory))
(export "memory" (memory $0))
(export "func_8" (func $func_8))
(export "func_8_invoker" (func $func_8_invoker))
(export "func_11" (func $func_11))
(export "func_12" (func $func_12))
(export "func_12_invoker" (func $func_12_invoker))
(export "func_14" (func $func_14))
(export "func_15" (func $func_15))
(export "hangLimitInitializer" (func $hangLimitInitializer))
(func $hashMemory (result i32)
(local $0 i32)
(local.set $0
(i32.const 5381)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=1
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=2
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=3
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=4
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=5
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=6
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=7
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=8
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=9
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=10
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=11
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=12
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=13
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=14
(i32.const 0)
)
)
)
(local.set $0
(i32.xor
(i32.add
(i32.shl
(local.get $0)
(i32.const 5)
)
(local.get $0)
)
(i32.load8_u offset=15
(i32.const 0)
)
)
)
(local.get $0)
)
(func $func_8 (result exnref)
(local $0 i64)
(local $1 i64)
(local $2 exnref)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
(ref.null)
)
)
(global.set $hangLimit
(i32.sub
(global.get $hangLimit)
(i32.const 1)
)
)
)
(ref.null)
)
(func $func_8_invoker
(drop
(call $func_8)
)
(drop
(call $func_8)
)
(call $log-i32
(call $hashMemory)
)
(drop
(call $func_8)
)
(call $log-i32
(call $hashMemory)
)
)
(func $func_10 (result externref exnref exnref exnref)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
(tuple.make
(ref.null)
(ref.null)
(ref.null)
(ref.null)
)
)
)
(global.set $hangLimit
(i32.sub
(global.get $hangLimit)
(i32.const 1)
)
)
)
(tuple.make
(ref.null)
(ref.null)
(ref.null)
(ref.null)
)
)
(func $func_11 (param $0 f64) (param $1 i32) (param $2 i64) (param $3 f64) (param $4 v128)
(local $5 nullref)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return)
)
(global.set $hangLimit
(i32.sub
(global.get $hangLimit)
(i32.const 1)
)
)
)
(block $label$0
(call $log-i32
(call $hashMemory)
)
(call $log-exnref
(ref.null)
)
)
)
(func $func_12 (param $0 funcref) (param $1 f64) (param $2 f32) (param $3 v128) (param $4 exnref) (param $5 f32) (result i64)
(local $6 nullref)
(local $7 f32)
(local $8 exnref)
(local $9 f32)
(local $10 f64)
(local $11 i64)
(local $12 i32)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
(local.get $11)
)
)
(global.set $hangLimit
(i32.sub
(global.get $hangLimit)
(i32.const 1)
)
)
)
(block $label$0
(call $log-f32
(f32.const -nan:0x7fffe0)
)
(return
(local.get $11)
)
)
)
(func $func_12_invoker
(drop
(call $func_12
(ref.null)
(f64.const -nan:0xfffffffffffec)
(f32.const 244)
(v128.const i32x4 0x5e58601d 0x5e555c53 0xffff0001 0xffffffff)
(ref.null)
(f32.const 72)
)
)
(drop
(call $func_12
(ref.func $log-v128)
(f64.const 32)
(f32.const 18014398509481984)
(v128.const i32x4 0x367f7324 0x5f000000 0x4e80108b 0xcf000000)
(ref.null)
(f32.const -549755813888)
)
)
(drop
(call $func_12
(ref.func $func_12)
(f64.const 4294967295.799)
(f32.const 1279937664)
(v128.const i32x4 0xffffffb6 0x00000000 0x4041414b 0x4478405c)
(ref.null)
(f32.const 10284)
)
)
)
(func $func_14 (param $0 externref) (param $1 externref) (param $2 f32) (param $3 v128) (param $4 funcref) (param $5 funcref) (result v128)
(local $6 (i64 i32 i32 i64 funcref))
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
(local.get $3)
)
)
(global.set $hangLimit
(i32.sub
(global.get $hangLimit)
(i32.const 1)
)
)
)
(block $label$0 (result v128)
(i32.atomic.store8 offset=3
(i32.and
(if (result i32)
(global.get $global$3)
(i32.const 15)
(i32.const 1)
)
(i32.const 15)
)
(i32.load offset=3 align=2
(i32.and
(i32.const 15)
(i32.const 15)
)
)
)
(local.tee $3
(block $label$16 (result v128)
(loop $label$17
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
(v128.const i32x4 0xffff0009 0xfffeffff 0x00005a18 0xffff7fff)
)
)
(global.set $hangLimit
(i32.sub
(global.get $hangLimit)
(i32.const 1)
)
)
)
(block
(local.set $5
(tuple.extract 2
(tuple.make
(f32.const 3366576023666688)
(f32.const 1897033472)
(ref.null)
(ref.func $log-exnref)
(ref.null)
)
)
)
(local.set $5
(tuple.extract 2
(tuple.make
(f32.const 3366576023666688)
(f32.const 1897033472)
(ref.null)
(ref.func $log-exnref)
(ref.null)
)
)
)
(if
(i32.eqz
(i8x16.extract_lane_u 13
(i16x8.neg
(local.get $3)
)
)
)
(block $label$18
(loop $label$19
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
(v128.const i32x4 0x2a230007 0x24000cff 0x01000405 0xe6abf412)
)
)
(global.set $hangLimit
(i32.sub
(global.get $hangLimit)
(i32.const 1)
)
)
)
(drop
(v128.const i32x4 0xffff8001 0xffffffff 0xfc000000 0xffffffff)
)
)
(call $func_12_invoker)
)
(drop
(local.tee $0
(local.get $1)
)
)
)
)
)
(local.get $3)
)
)
)
)
(func $func_15 (param $0 v128) (result funcref)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
(ref.null)
)
)
(global.set $hangLimit
(i32.sub
(global.get $hangLimit)
(i32.const 1)
)
)
)
(select (result nullref)
(if (result nullref)
(loop $label$10 (result i32)
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
(ref.func $log-f64)
)
)
(global.set $hangLimit
(i32.sub
(global.get $hangLimit)
(i32.const 1)
)
)
)
(block (result i32)
(block $label$11
(i32.atomic.store8 offset=4
(i32.and
(i32.load8_s offset=3
(i32.and
(i32.const 1026044209)
(i32.const 15)
)
)
(i32.const 15)
)
(i32.const 0)
)
(drop
(local.get $0)
)
)
(br_if $label$10
(i32.const 128)
)
(select
(select
(i32.const -127)
(i32.const -65537)
(i32.const -254)
)
(i32.const 102650628)
(i32.const 810034249)
)
)
)
(ref.null)
(block $label$13 (result nullref)
(loop $label$14
(block
(if
(i32.eqz
(global.get $hangLimit)
)
(return
(ref.func $func_8)
)
)
(global.set $hangLimit
(i32.sub
(global.get $hangLimit)
(i32.const 1)
)
)
)
(nop)
)
(ref.null)
)
)
(ref.null)
(i32.atomic.load8_u offset=1
(ref.is_null
(call_indirect (type $none_=>_exnref)
(i32.const 0)
)
)
)
)
)
(func $hangLimitInitializer
(global.set $hangLimit
(i32.const 10)
)
)
)