Update expect tests
This commit is contained in:
parent
625d9fcdca
commit
472e53fec6
|
@ -23,67 +23,57 @@
|
|||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(block $B4
|
||||
)
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(br_table $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l5))
|
||||
(set_local $l5
|
||||
(get_local $l3))
|
||||
(set_local $l3
|
||||
(i32.add
|
||||
(get_local $l5)
|
||||
(get_local $l2)))
|
||||
(get_local $l3)
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
|
@ -92,114 +82,130 @@
|
|||
(i32.const 2261))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 3)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -20,403 +20,379 @@
|
|||
(type $t18 (func (param i32 i64 i32) (result i32)))
|
||||
(type $t19 (func (param i32 i64 i64 i32) (result i32)))
|
||||
(import "e" "safe_write32_slow_jit" (func $e.safe_write32_slow_jit (type $t15)))
|
||||
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
|
||||
(import "e" "safe_read32s_slow_jit" (func $e.safe_read32s_slow_jit (type $t7)))
|
||||
(import "e" "get_phys_eip_slow_jit" (func $e.get_phys_eip_slow_jit (type $t6)))
|
||||
(import "e" "jit_find_cache_entry_in_page" (func $e.jit_find_cache_entry_in_page (type $t15)))
|
||||
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
|
||||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32) (local $l12 i32) (local $l13 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32) (local $l12 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(block $B6
|
||||
(block $B7
|
||||
(br_table $B7 $B6 $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.load
|
||||
(i32.const 556)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 5)))
|
||||
(set_local $l10
|
||||
(i32.sub
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.load
|
||||
(i32.const 740))))
|
||||
(set_local $l12
|
||||
(i32.add
|
||||
(tee_local $l11
|
||||
(i32.sub
|
||||
(get_local $l6)
|
||||
(i32.const 4)))
|
||||
(i32.load
|
||||
(i32.const 744))))
|
||||
(block $B8
|
||||
(br_if $B8
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l13
|
||||
(i32.load offset=316208
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l12)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4075))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l12)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B3
|
||||
(i32.and
|
||||
(tee_local $l13
|
||||
(call $e.safe_write32_slow_jit
|
||||
(get_local $l12)
|
||||
(get_local $l10)
|
||||
(i32.const 0)))
|
||||
(i32.const 1))))
|
||||
(i32.store align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l13)
|
||||
(i32.const -4096))
|
||||
(get_local $l12))
|
||||
(i32.const 18247680))
|
||||
(get_local $l10))
|
||||
(set_local $l6
|
||||
(get_local $l11))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(set_local $l0
|
||||
(i32.const 2))
|
||||
(br $L1))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.load
|
||||
(i32.const 556)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(block $B4
|
||||
(block $B5
|
||||
(br_if $B4
|
||||
(i32.eq
|
||||
(get_local $p0)
|
||||
(i32.const 0))))
|
||||
(set_local $l8
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(i32.add
|
||||
(get_local $l8)
|
||||
(i32.const 1)))
|
||||
(set_local $l9
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 120)
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.sub
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 5))
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const -2))
|
||||
(if $I9 (result i32)
|
||||
(i32.const 740))))
|
||||
(set_local $l11
|
||||
(i32.add
|
||||
(tee_local $l10
|
||||
(i32.sub
|
||||
(get_local $l4)
|
||||
(i32.const 4)))
|
||||
(i32.load
|
||||
(i32.const 744))))
|
||||
(block $B6
|
||||
(br_if $B6
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l12
|
||||
(i32.load offset=323504
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l11)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4075))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l11)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B1
|
||||
(i32.and
|
||||
(tee_local $l12
|
||||
(call $e.safe_write32_slow_jit
|
||||
(get_local $l11)
|
||||
(get_local $l9)
|
||||
(i32.const 0)))
|
||||
(i32.const 1))))
|
||||
(i32.store align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l12)
|
||||
(i32.const -4096))
|
||||
(get_local $l11))
|
||||
(i32.const 18247680))
|
||||
(get_local $l9))
|
||||
(set_local $l4
|
||||
(get_local $l10))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 120)
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const -2))
|
||||
(if $I7 (result i32)
|
||||
(i32.and
|
||||
(tee_local $l9
|
||||
(i32.load
|
||||
(i32.const 116)))
|
||||
(i32.const 1))
|
||||
(then
|
||||
(set_local $l9
|
||||
(i32.shr_s
|
||||
(get_local $l9)
|
||||
(i32.const 31)))
|
||||
(i32.lt_u
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 112))
|
||||
(get_local $l9))
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 96))
|
||||
(get_local $l9))))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const 1))))))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l0))
|
||||
(set_local $l0
|
||||
(i32.add
|
||||
(get_local $l0)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const 2260))
|
||||
(i32.const 0)
|
||||
(set_local $l9
|
||||
(i32.add
|
||||
(get_local $l4)
|
||||
(i32.load
|
||||
(i32.const 744))))
|
||||
(block $B8
|
||||
(br_if $B8
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l10
|
||||
(i32.load offset=323504
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l9)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4041))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l9)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B1
|
||||
(i32.and
|
||||
(tee_local $l10
|
||||
(i32.load
|
||||
(i32.const 116)))
|
||||
(i32.const 1))
|
||||
(then
|
||||
(set_local $l10
|
||||
(i32.shr_s
|
||||
(get_local $l10)
|
||||
(i32.const 31)))
|
||||
(i32.lt_u
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 112))
|
||||
(get_local $l10))
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 96))
|
||||
(get_local $l10))))
|
||||
(else
|
||||
(call $e.safe_read32s_slow_jit
|
||||
(get_local $l9)
|
||||
(i32.const 7)))
|
||||
(i32.const 1))))
|
||||
(i32.load align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const 1))))))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l2))
|
||||
(set_local $l2
|
||||
(i32.add
|
||||
(get_local $l2)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const 2260))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(get_local $l10)
|
||||
(i32.const -4096))
|
||||
(get_local $l9))
|
||||
(i32.const 18247680)))
|
||||
(set_local $l4
|
||||
(i32.add
|
||||
(get_local $l4)
|
||||
(i32.const 4)))
|
||||
(i32.load
|
||||
(i32.const 740))
|
||||
(i32.add)
|
||||
(i32.store offset=556)
|
||||
(set_local $l9
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 2)))
|
||||
(set_local $l10
|
||||
(i32.add
|
||||
(get_local $l6)
|
||||
(i32.load
|
||||
(i32.const 744))))
|
||||
(block $B10
|
||||
(br_if $B10
|
||||
(i32.and
|
||||
(i32.const 556)))
|
||||
(block $B9
|
||||
(br_if $B9
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(i32.load offset=316208
|
||||
(tee_local $l10
|
||||
(i32.load offset=323504
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4041))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l10)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B3
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(call $e.safe_read32s_slow_jit
|
||||
(get_local $l10)
|
||||
(i32.const 7)))
|
||||
(i32.const 1))))
|
||||
(i32.load align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.const 1)))
|
||||
(br_if $B1
|
||||
(i32.and
|
||||
(get_local $l11)
|
||||
(i32.const -4096))
|
||||
(get_local $l10))
|
||||
(i32.const 18247680)))
|
||||
(set_local $l6
|
||||
(tee_local $l10
|
||||
(call $e.get_phys_eip_slow_jit
|
||||
(get_local $l9)))
|
||||
(i32.const 1))))
|
||||
(br_if $L2
|
||||
(i32.ge_s
|
||||
(tee_local $p0
|
||||
(call $e.jit_find_cache_entry_in_page
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l10)
|
||||
(i32.const -4096))
|
||||
(get_local $l9))
|
||||
(i32.const 899)
|
||||
(i32.const 3)))
|
||||
(i32.const 0)))
|
||||
(br $B0))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l6)
|
||||
(i32.const 4)))
|
||||
(i32.load
|
||||
(i32.const 740))
|
||||
(i32.add)
|
||||
(set_local $l10)
|
||||
(get_local $l8)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 5)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(get_local $l10))
|
||||
(block $B11
|
||||
(br_if $B11
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(i32.load offset=316208
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l10)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4041))
|
||||
(i32.const 1)))
|
||||
(br_if $B3
|
||||
(i32.or
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(call $e.get_phys_eip_slow_jit
|
||||
(get_local $l10)))
|
||||
(i32.const 1))))
|
||||
(if $I12
|
||||
(i32.ge_s
|
||||
(tee_local $l10
|
||||
(call $e.jit_find_cache_entry_in_page
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l11)
|
||||
(i32.const -4096))
|
||||
(get_local $l10))
|
||||
(i32.const 899)
|
||||
(i32.const 3)))
|
||||
(i32.const 0))
|
||||
(then
|
||||
(set_local $l0
|
||||
(get_local $l10))
|
||||
(br $L1)))
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 6)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -23,283 +23,256 @@
|
|||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B4
|
||||
)
|
||||
(block $B5
|
||||
(block $B6
|
||||
(br_table $B6 $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(i32.const 3)))
|
||||
(i32.store
|
||||
(i32.const 120)
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const -2))
|
||||
(if $I7 (result i32)
|
||||
(loop $L6
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.or
|
||||
(i32.and
|
||||
(tee_local $l10
|
||||
(i32.load
|
||||
(i32.const 116)))
|
||||
(i32.const 1))
|
||||
(then
|
||||
(set_local $l10
|
||||
(i32.shr_s
|
||||
(get_local $l10)
|
||||
(i32.const 31)))
|
||||
(i32.lt_u
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 112))
|
||||
(get_local $l10))
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 96))
|
||||
(get_local $l10))))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const 1))))))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l5))
|
||||
(set_local $l5
|
||||
(i32.add
|
||||
(get_local $l5)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const 2260))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(i32.sub
|
||||
(get_local $l2)
|
||||
(i32.const 10)))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const -2147481387))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 4)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 6)))
|
||||
(if $I9
|
||||
(i32.eqz
|
||||
(if $I8 (result i32)
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 116))
|
||||
(i32.const 64))
|
||||
(then
|
||||
(i32.and
|
||||
(i32.shr_u
|
||||
(i32.and
|
||||
(i32.xor
|
||||
(tee_local $l10
|
||||
(i32.load
|
||||
(i32.const 112)))
|
||||
(i32.const -1))
|
||||
(i32.sub
|
||||
(get_local $l10)
|
||||
(i32.const 1)))
|
||||
(i32.load
|
||||
(i32.const 104)))
|
||||
(i32.const 1)))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const 64)))))
|
||||
(then
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -6)))
|
||||
(set_local $l0
|
||||
(i32.const 0))
|
||||
(br $L1))))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.const -4096))
|
||||
(i32.const 0)))
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l8)
|
||||
(i32.const 3)))
|
||||
(i32.store
|
||||
(i32.const 120)
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const -2))
|
||||
(if $I7 (result i32)
|
||||
(i32.and
|
||||
(tee_local $l9
|
||||
(i32.load
|
||||
(i32.const 116)))
|
||||
(i32.const 1))
|
||||
(then
|
||||
(set_local $l9
|
||||
(i32.shr_s
|
||||
(get_local $l9)
|
||||
(i32.const 31)))
|
||||
(i32.lt_u
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 112))
|
||||
(get_local $l9))
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 96))
|
||||
(get_local $l9))))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const 1))))))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l3))
|
||||
(set_local $l3
|
||||
(i32.add
|
||||
(get_local $l3)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const 2260))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(i32.sub
|
||||
(get_local $l0)
|
||||
(i32.const 10)))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const -2147481387))
|
||||
(br_if $L6
|
||||
(i32.load
|
||||
(i32.const 112)))))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.load
|
||||
(i32.const 556)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 6)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 7)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -23,194 +23,69 @@
|
|||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32) (local $l12 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B4
|
||||
)
|
||||
(block $B5
|
||||
(block $B6
|
||||
(block $B7
|
||||
(br_table $B7 $B6 $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(i32.sub
|
||||
(get_local $l2)
|
||||
(i32.const 5)))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const -2147481387))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 3)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 5)))
|
||||
(if $I11
|
||||
(i32.eqz
|
||||
(i32.or
|
||||
(i32.xor
|
||||
(i32.eqz
|
||||
(if $I8 (result i32)
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 116))
|
||||
(i32.const 128))
|
||||
(then
|
||||
(i32.and
|
||||
(i32.shr_u
|
||||
(i32.load
|
||||
(i32.const 112))
|
||||
(i32.load
|
||||
(i32.const 104)))
|
||||
(i32.const 1)))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const 128)))))
|
||||
(i32.eqz
|
||||
(if $I9 (result i32)
|
||||
(i32.and
|
||||
(tee_local $l10
|
||||
(i32.load
|
||||
(i32.const 116)))
|
||||
(i32.const 2048))
|
||||
(then
|
||||
(i32.and
|
||||
(i32.shr_u
|
||||
(i32.and
|
||||
(i32.xor
|
||||
(tee_local $l11
|
||||
(i32.load
|
||||
(i32.const 96)))
|
||||
(tee_local $l12
|
||||
(i32.load
|
||||
(i32.const 112))))
|
||||
(i32.xor
|
||||
(i32.sub
|
||||
(i32.sub
|
||||
(get_local $l12)
|
||||
(get_local $l11))
|
||||
(i32.shr_u
|
||||
(i32.load
|
||||
(i32.const 116))
|
||||
(i32.const 31)))
|
||||
(get_local $l12)))
|
||||
(i32.load
|
||||
(i32.const 104)))
|
||||
(i32.const 1)))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const 2048))))))
|
||||
(if $I10 (result i32)
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 116))
|
||||
(i32.const 64))
|
||||
(then
|
||||
(i32.and
|
||||
(i32.shr_u
|
||||
(i32.and
|
||||
(i32.xor
|
||||
(tee_local $l10
|
||||
(i32.load
|
||||
(i32.const 112)))
|
||||
(i32.const -1))
|
||||
(i32.sub
|
||||
(get_local $l10)
|
||||
(i32.const 1)))
|
||||
(i32.load
|
||||
(i32.const 104)))
|
||||
(i32.const 1)))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const 64))))))
|
||||
(then
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(set_local $l0
|
||||
(i32.const 2))
|
||||
(br $L1))))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(i32.const 1)))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.load
|
||||
(i32.const 556)))
|
||||
(i32.const 112)
|
||||
(i32.sub
|
||||
(get_local $l0)
|
||||
(i32.const 5)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.const 96)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const -2147481387))
|
||||
(br_if $B5
|
||||
(i32.gt_s
|
||||
(get_local $l0)
|
||||
(i32.const 5)))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(get_local $l8)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 120)
|
||||
|
@ -219,26 +94,26 @@
|
|||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const -2))
|
||||
(if $I12 (result i32)
|
||||
(if $I6 (result i32)
|
||||
(i32.and
|
||||
(tee_local $l10
|
||||
(tee_local $l9
|
||||
(i32.load
|
||||
(i32.const 116)))
|
||||
(i32.const 1))
|
||||
(then
|
||||
(set_local $l10
|
||||
(set_local $l9
|
||||
(i32.shr_s
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 31)))
|
||||
(i32.lt_u
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 112))
|
||||
(get_local $l10))
|
||||
(get_local $l9))
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 96))
|
||||
(get_local $l10))))
|
||||
(get_local $l9))))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
|
@ -246,25 +121,23 @@
|
|||
(i32.const 1))))))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l3))
|
||||
(set_local $l3
|
||||
(get_local $l1))
|
||||
(set_local $l1
|
||||
(i32.add
|
||||
(get_local $l3)
|
||||
(get_local $l1)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const 2260)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 120)
|
||||
|
@ -273,26 +146,26 @@
|
|||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const -2))
|
||||
(if $I13 (result i32)
|
||||
(if $I7 (result i32)
|
||||
(i32.and
|
||||
(tee_local $l10
|
||||
(tee_local $l9
|
||||
(i32.load
|
||||
(i32.const 116)))
|
||||
(i32.const 1))
|
||||
(then
|
||||
(set_local $l10
|
||||
(set_local $l9
|
||||
(i32.shr_s
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 31)))
|
||||
(i32.lt_u
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 112))
|
||||
(get_local $l10))
|
||||
(get_local $l9))
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 96))
|
||||
(get_local $l10))))
|
||||
(get_local $l9))))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
|
@ -300,14 +173,14 @@
|
|||
(i32.const 1))))))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l5))
|
||||
(set_local $l5
|
||||
(get_local $l3))
|
||||
(set_local $l3
|
||||
(i32.add
|
||||
(get_local $l5)
|
||||
(get_local $l3)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
|
@ -316,114 +189,130 @@
|
|||
(i32.const 2260))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 7)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 2)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 8)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -23,56 +23,46 @@
|
|||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(block $B4
|
||||
)
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(br_table $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 120)
|
||||
|
@ -81,26 +71,26 @@
|
|||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const -2))
|
||||
(if $I6 (result i32)
|
||||
(if $I5 (result i32)
|
||||
(i32.and
|
||||
(tee_local $l10
|
||||
(tee_local $l9
|
||||
(i32.load
|
||||
(i32.const 116)))
|
||||
(i32.const 1))
|
||||
(then
|
||||
(set_local $l10
|
||||
(set_local $l9
|
||||
(i32.shr_s
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 31)))
|
||||
(i32.lt_u
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 112))
|
||||
(get_local $l10))
|
||||
(get_local $l9))
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 96))
|
||||
(get_local $l10))))
|
||||
(get_local $l9))))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
|
@ -108,14 +98,14 @@
|
|||
(i32.const 1))))))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l2))
|
||||
(set_local $l2
|
||||
(get_local $l0))
|
||||
(set_local $l0
|
||||
(i32.add
|
||||
(get_local $l2)
|
||||
(get_local $l0)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
|
@ -124,114 +114,130 @@
|
|||
(i32.const 2260))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -19,336 +19,335 @@
|
|||
(type $t17 (func (param i32 i64 i32)))
|
||||
(type $t18 (func (param i32 i64 i32) (result i32)))
|
||||
(type $t19 (func (param i32 i64 i64 i32) (result i32)))
|
||||
(import "e" "log_segment_null" (func $e.log_segment_null (type $t1)))
|
||||
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
|
||||
(import "e" "trigger_gp_jit" (func $e.trigger_gp_jit (type $t2)))
|
||||
(import "e" "safe_read32s_slow_jit" (func $e.safe_read32s_slow_jit (type $t7)))
|
||||
(import "e" "safe_write32_slow_jit" (func $e.safe_write32_slow_jit (type $t15)))
|
||||
(import "e" "get_phys_eip_slow_jit" (func $e.get_phys_eip_slow_jit (type $t6)))
|
||||
(import "e" "jit_find_cache_entry_in_page" (func $e.jit_find_cache_entry_in_page (type $t15)))
|
||||
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
|
||||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32) (local $l12 i32) (local $l13 i32) (local $l14 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32) (local $l12 i32) (local $l13 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(block $B6
|
||||
(br_table $B6 $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(block $B4
|
||||
(block $B5
|
||||
(br_if $B4
|
||||
(i32.eq
|
||||
(get_local $p0)
|
||||
(i32.const 1))))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.load
|
||||
(i32.const 556)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 2)))
|
||||
(get_local $l2)
|
||||
(call $e.log_segment_null
|
||||
(i32.const 3))
|
||||
(if $I7
|
||||
(i32.load8_u
|
||||
(i32.const 727))
|
||||
(then
|
||||
(call $e.trigger_gp_jit
|
||||
(i32.const 0)
|
||||
(i32.const 4096))
|
||||
(br $B3)))
|
||||
(i32.load
|
||||
(i32.const 748))
|
||||
(i32.add)
|
||||
(set_local $l10)
|
||||
(block $B8
|
||||
(br_if $B8
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(i32.load offset=316208
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l10)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4041))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l10)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B3
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(call $e.safe_read32s_slow_jit
|
||||
(get_local $l10)
|
||||
(i32.const 0)))
|
||||
(i32.const 1))))
|
||||
(set_local $l10
|
||||
(i32.add
|
||||
(i32.load align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l11)
|
||||
(i32.const -4096))
|
||||
(get_local $l10))
|
||||
(i32.const 18247680)))
|
||||
(i32.load
|
||||
(i32.const 740))))
|
||||
(set_local $l11
|
||||
(i32.sub
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.load
|
||||
(i32.const 740))))
|
||||
(set_local $l13
|
||||
(i32.add
|
||||
(tee_local $l12
|
||||
(i32.sub
|
||||
(get_local $l6)
|
||||
(i32.const 4)))
|
||||
(i32.load
|
||||
(i32.const 744))))
|
||||
(block $B9
|
||||
(br_if $B9
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l14
|
||||
(i32.load offset=316208
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l13)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4075))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l13)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B3
|
||||
(i32.and
|
||||
(tee_local $l14
|
||||
(call $e.safe_write32_slow_jit
|
||||
(get_local $l13)
|
||||
(get_local $l11)
|
||||
(i32.const 0)))
|
||||
(i32.const 1))))
|
||||
(i32.store align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l14)
|
||||
(i32.const -4096))
|
||||
(get_local $l13))
|
||||
(i32.const 18247680))
|
||||
(get_local $l11))
|
||||
(set_local $l6
|
||||
(get_local $l12))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(get_local $l10))
|
||||
(block $B10
|
||||
(br_if $B10
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 3)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l8)
|
||||
(i32.const 1)))
|
||||
(get_local $l0)
|
||||
(if $I6
|
||||
(i32.load8_u
|
||||
(i32.const 727))
|
||||
(then
|
||||
(call $e.trigger_gp_jit
|
||||
(i32.const 0)
|
||||
(i32.const 4096))
|
||||
(br $B1)))
|
||||
(i32.load
|
||||
(i32.const 748))
|
||||
(i32.add)
|
||||
(set_local $l9)
|
||||
(block $B7
|
||||
(br_if $B7
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(i32.load offset=316208
|
||||
(tee_local $l10
|
||||
(i32.load offset=323504
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4041))
|
||||
(i32.const 1)))
|
||||
(br_if $B3
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(call $e.get_phys_eip_slow_jit
|
||||
(get_local $l10)))
|
||||
(i32.const 1))))
|
||||
(if $I11
|
||||
(i32.ge_s
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l9)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B1
|
||||
(i32.and
|
||||
(tee_local $l10
|
||||
(call $e.jit_find_cache_entry_in_page
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l11)
|
||||
(i32.const -4096))
|
||||
(get_local $l10))
|
||||
(i32.const 899)
|
||||
(i32.const 3)))
|
||||
(i32.const 0))
|
||||
(then
|
||||
(set_local $l0
|
||||
(get_local $l10))
|
||||
(br $L1)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(call $e.safe_read32s_slow_jit
|
||||
(get_local $l9)
|
||||
(i32.const 0)))
|
||||
(i32.const 1))))
|
||||
(set_local $l9
|
||||
(i32.add
|
||||
(i32.load align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l10)
|
||||
(i32.const -4096))
|
||||
(get_local $l9))
|
||||
(i32.const 18247680)))
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.load
|
||||
(i32.const 556)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.const 740))))
|
||||
(set_local $l10
|
||||
(i32.sub
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 2))
|
||||
(i32.load
|
||||
(i32.const 740))))
|
||||
(set_local $l12
|
||||
(i32.add
|
||||
(tee_local $l11
|
||||
(i32.sub
|
||||
(get_local $l4)
|
||||
(i32.const 4)))
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(i32.const 744))))
|
||||
(block $B8
|
||||
(br_if $B8
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l13
|
||||
(i32.load offset=323504
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l12)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4075))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l12)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B1
|
||||
(i32.and
|
||||
(tee_local $l13
|
||||
(call $e.safe_write32_slow_jit
|
||||
(get_local $l12)
|
||||
(get_local $l10)
|
||||
(i32.const 0)))
|
||||
(i32.const 1))))
|
||||
(i32.store align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l13)
|
||||
(i32.const -4096))
|
||||
(get_local $l12))
|
||||
(i32.const 18247680))
|
||||
(get_local $l10))
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(get_local $l11))
|
||||
(i32.store offset=556
|
||||
(i32.const 0)
|
||||
(get_local $l9))
|
||||
(set_local $l9
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(i32.const 556)))
|
||||
(block $B9
|
||||
(br_if $B9
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l10
|
||||
(i32.load offset=323504
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l9)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4041))
|
||||
(i32.const 1)))
|
||||
(br_if $B1
|
||||
(i32.and
|
||||
(tee_local $l10
|
||||
(call $e.get_phys_eip_slow_jit
|
||||
(get_local $l9)))
|
||||
(i32.const 1))))
|
||||
(br_if $L2
|
||||
(i32.ge_s
|
||||
(tee_local $p0
|
||||
(call $e.jit_find_cache_entry_in_page
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l10)
|
||||
(i32.const -4096))
|
||||
(get_local $l9))
|
||||
(i32.const 899)
|
||||
(i32.const 3)))
|
||||
(i32.const 0)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
BITS 32
|
||||
|
||||
start:
|
||||
inc eax
|
||||
loop start
|
||||
hlt
|
||||
|
||||
|
|
|
@ -23,248 +23,197 @@
|
|||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B4
|
||||
)
|
||||
(block $B5
|
||||
(block $B6
|
||||
(br_table $B6 $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 120)
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const -2))
|
||||
(if $I7 (result i32)
|
||||
(loop $L6
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.or
|
||||
(i32.and
|
||||
(tee_local $l10
|
||||
(i32.load
|
||||
(i32.const 116)))
|
||||
(i32.const 1))
|
||||
(then
|
||||
(set_local $l10
|
||||
(i32.shr_s
|
||||
(get_local $l10)
|
||||
(i32.const 31)))
|
||||
(i32.lt_u
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 112))
|
||||
(get_local $l10))
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 96))
|
||||
(get_local $l10))))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const 1))))))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l2))
|
||||
(set_local $l2
|
||||
(i32.add
|
||||
(get_local $l2)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const 2260))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 3)))
|
||||
(set_local $l3
|
||||
(i32.sub
|
||||
(get_local $l3)
|
||||
(i32.const 1)))
|
||||
(if $I8
|
||||
(get_local $l3)
|
||||
(then
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -3)))
|
||||
(set_local $l0
|
||||
(i32.const 0))
|
||||
(br $L1))))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.const -4096))
|
||||
(i32.const 0)))
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l8)
|
||||
(i32.const 1)))
|
||||
(set_local $l1
|
||||
(i32.sub
|
||||
(get_local $l1)
|
||||
(i32.const 1)))
|
||||
(br_if $L6
|
||||
(get_local $l1))))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.load
|
||||
(i32.const 556)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 3)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -19,226 +19,229 @@
|
|||
(type $t17 (func (param i32 i64 i32)))
|
||||
(type $t18 (func (param i32 i64 i32) (result i32)))
|
||||
(type $t19 (func (param i32 i64 i64 i32) (result i32)))
|
||||
(import "e" "log_segment_null" (func $e.log_segment_null (type $t1)))
|
||||
(import "e" "trigger_gp_jit" (func $e.trigger_gp_jit (type $t2)))
|
||||
(import "e" "safe_read32s_slow_jit" (func $e.safe_read32s_slow_jit (type $t7)))
|
||||
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
|
||||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(block $B4
|
||||
)
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(br_table $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(i32.add
|
||||
(get_local $l5)
|
||||
(get_local $l3)
|
||||
(i32.const 123456789))
|
||||
(call $e.log_segment_null
|
||||
(i32.const 3))
|
||||
(if $I6
|
||||
(if $I5
|
||||
(i32.load8_u
|
||||
(i32.const 727))
|
||||
(then
|
||||
(call $e.trigger_gp_jit
|
||||
(i32.const 0)
|
||||
(i32.const 4096))
|
||||
(br $B3)))
|
||||
(br $B1)))
|
||||
(i32.load
|
||||
(i32.const 748))
|
||||
(i32.add)
|
||||
(set_local $l10)
|
||||
(block $B7
|
||||
(br_if $B7
|
||||
(set_local $l9)
|
||||
(block $B6
|
||||
(br_if $B6
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(i32.load offset=316208
|
||||
(tee_local $l10
|
||||
(i32.load offset=323504
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4041))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B3
|
||||
(br_if $B1
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(tee_local $l10
|
||||
(call $e.safe_read32s_slow_jit
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 0)))
|
||||
(i32.const 1))))
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l11)
|
||||
(get_local $l10)
|
||||
(i32.const -4096))
|
||||
(get_local $l10))
|
||||
(get_local $l9))
|
||||
(i32.const 18247680))))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 6)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 7)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
(type $t17 (func (param i32 i64 i32)))
|
||||
(type $t18 (func (param i32 i64 i32) (result i32)))
|
||||
(type $t19 (func (param i32 i64 i64 i32) (result i32)))
|
||||
(import "e" "log_segment_null" (func $e.log_segment_null (type $t1)))
|
||||
(import "e" "trigger_gp_jit" (func $e.trigger_gp_jit (type $t2)))
|
||||
(import "e" "safe_read_write32s_slow_jit" (func $e.safe_read_write32s_slow_jit (type $t7)))
|
||||
(import "e" "safe_write32_slow_jit" (func $e.safe_write32_slow_jit (type $t15)))
|
||||
|
@ -28,110 +27,98 @@
|
|||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32) (local $l12 i32) (local $l13 i32) (local $l14 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32) (local $l12 i32) (local $l13 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(block $B4
|
||||
)
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(br_table $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(i32.add
|
||||
(get_local $l2)
|
||||
(get_local $l0)
|
||||
(i32.const 123456789))
|
||||
(call $e.log_segment_null
|
||||
(i32.const 3))
|
||||
(if $I6
|
||||
(if $I5
|
||||
(i32.load8_u
|
||||
(i32.const 727))
|
||||
(then
|
||||
(call $e.trigger_gp_jit
|
||||
(i32.const 0)
|
||||
(i32.const 4096))
|
||||
(br $B3)))
|
||||
(br $B1)))
|
||||
(i32.load
|
||||
(i32.const 748))
|
||||
(i32.add)
|
||||
(set_local $l10)
|
||||
(block $B7
|
||||
(br_if $B7
|
||||
(tee_local $l12
|
||||
(set_local $l9)
|
||||
(block $B6
|
||||
(br_if $B6
|
||||
(tee_local $l11
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(i32.load offset=316208
|
||||
(tee_local $l10
|
||||
(i32.load offset=323504
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4075))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092)))))
|
||||
(br_if $B3
|
||||
(br_if $B1
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(tee_local $l10
|
||||
(call $e.safe_read_write32s_slow_jit
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 0)))
|
||||
(i32.const 1))))
|
||||
(set_local $l13
|
||||
(set_local $l12
|
||||
(i32.load align=1
|
||||
(tee_local $l11
|
||||
(tee_local $l10
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l11)
|
||||
(get_local $l10)
|
||||
(i32.const -4096))
|
||||
(get_local $l10))
|
||||
(get_local $l9))
|
||||
(i32.const 18247680)))))
|
||||
(i32.store
|
||||
(i32.const 120)
|
||||
|
@ -140,26 +127,26 @@
|
|||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const -2))
|
||||
(if $I8 (result i32)
|
||||
(if $I7 (result i32)
|
||||
(i32.and
|
||||
(tee_local $l14
|
||||
(tee_local $l13
|
||||
(i32.load
|
||||
(i32.const 116)))
|
||||
(i32.const 1))
|
||||
(then
|
||||
(set_local $l14
|
||||
(set_local $l13
|
||||
(i32.shr_s
|
||||
(get_local $l14)
|
||||
(get_local $l13)
|
||||
(i32.const 31)))
|
||||
(i32.lt_u
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 112))
|
||||
(get_local $l14))
|
||||
(get_local $l13))
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 96))
|
||||
(get_local $l14))))
|
||||
(get_local $l13))))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
|
@ -167,150 +154,166 @@
|
|||
(i32.const 1))))))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l13))
|
||||
(set_local $l13
|
||||
(get_local $l12))
|
||||
(set_local $l12
|
||||
(i32.add
|
||||
(get_local $l13)
|
||||
(get_local $l12)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(get_local $l13))
|
||||
(get_local $l12))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const 2260))
|
||||
(set_local $l13
|
||||
(get_local $l13))
|
||||
(if $I9
|
||||
(set_local $l12
|
||||
(get_local $l12))
|
||||
(if $I8
|
||||
(i32.eqz
|
||||
(get_local $l12))
|
||||
(get_local $l11))
|
||||
(then
|
||||
(if $I10
|
||||
(if $I9
|
||||
(i32.and
|
||||
(call $e.safe_write32_slow_jit
|
||||
(get_local $l10)
|
||||
(get_local $l13)
|
||||
(get_local $l9)
|
||||
(get_local $l12)
|
||||
(i32.const 4096))
|
||||
(i32.const 1))
|
||||
(then
|
||||
(call $e.bug_gen_safe_read_write_page_fault
|
||||
(i32.const 32)
|
||||
(get_local $l10))))))
|
||||
(get_local $l9))))))
|
||||
(i32.store align=1
|
||||
(get_local $l11)
|
||||
(get_local $l13))
|
||||
(get_local $l10)
|
||||
(get_local $l12))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 6)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 7)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -19,227 +19,230 @@
|
|||
(type $t17 (func (param i32 i64 i32)))
|
||||
(type $t18 (func (param i32 i64 i32) (result i32)))
|
||||
(type $t19 (func (param i32 i64 i64 i32) (result i32)))
|
||||
(import "e" "log_segment_null" (func $e.log_segment_null (type $t1)))
|
||||
(import "e" "trigger_gp_jit" (func $e.trigger_gp_jit (type $t2)))
|
||||
(import "e" "safe_write32_slow_jit" (func $e.safe_write32_slow_jit (type $t15)))
|
||||
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
|
||||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(block $B4
|
||||
)
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(br_table $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(i32.add
|
||||
(get_local $l5)
|
||||
(get_local $l3)
|
||||
(i32.const 123456789))
|
||||
(call $e.log_segment_null
|
||||
(i32.const 3))
|
||||
(if $I6
|
||||
(if $I5
|
||||
(i32.load8_u
|
||||
(i32.const 727))
|
||||
(then
|
||||
(call $e.trigger_gp_jit
|
||||
(i32.const 0)
|
||||
(i32.const 4096))
|
||||
(br $B3)))
|
||||
(br $B1)))
|
||||
(i32.load
|
||||
(i32.const 748))
|
||||
(i32.add)
|
||||
(set_local $l10)
|
||||
(block $B7
|
||||
(br_if $B7
|
||||
(set_local $l9)
|
||||
(block $B6
|
||||
(br_if $B6
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(i32.load offset=316208
|
||||
(tee_local $l10
|
||||
(i32.load offset=323504
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4075))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B3
|
||||
(br_if $B1
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(tee_local $l10
|
||||
(call $e.safe_write32_slow_jit
|
||||
(get_local $l10)
|
||||
(get_local $l2)
|
||||
(get_local $l9)
|
||||
(get_local $l0)
|
||||
(i32.const 0)))
|
||||
(i32.const 1))))
|
||||
(i32.store align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l11)
|
||||
(get_local $l10)
|
||||
(i32.const -4096))
|
||||
(get_local $l10))
|
||||
(get_local $l9))
|
||||
(i32.const 18247680))
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 6)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 7)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -19,224 +19,227 @@
|
|||
(type $t17 (func (param i32 i64 i32)))
|
||||
(type $t18 (func (param i32 i64 i32) (result i32)))
|
||||
(type $t19 (func (param i32 i64 i64 i32) (result i32)))
|
||||
(import "e" "log_segment_null" (func $e.log_segment_null (type $t1)))
|
||||
(import "e" "trigger_gp_jit" (func $e.trigger_gp_jit (type $t2)))
|
||||
(import "e" "safe_read32s_slow_jit" (func $e.safe_read32s_slow_jit (type $t7)))
|
||||
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
|
||||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(block $B4
|
||||
)
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(br_table $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(i32.const 51966)
|
||||
(call $e.log_segment_null
|
||||
(i32.const 3))
|
||||
(if $I6
|
||||
(if $I5
|
||||
(i32.load8_u
|
||||
(i32.const 727))
|
||||
(then
|
||||
(call $e.trigger_gp_jit
|
||||
(i32.const 0)
|
||||
(i32.const 4096))
|
||||
(br $B3)))
|
||||
(br $B1)))
|
||||
(i32.load
|
||||
(i32.const 748))
|
||||
(i32.add)
|
||||
(set_local $l10)
|
||||
(block $B7
|
||||
(br_if $B7
|
||||
(set_local $l9)
|
||||
(block $B6
|
||||
(br_if $B6
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(i32.load offset=316208
|
||||
(tee_local $l10
|
||||
(i32.load offset=323504
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4041))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B3
|
||||
(br_if $B1
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(tee_local $l10
|
||||
(call $e.safe_read32s_slow_jit
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 0)))
|
||||
(i32.const 1))))
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l11)
|
||||
(get_local $l10)
|
||||
(i32.const -4096))
|
||||
(get_local $l10))
|
||||
(get_local $l9))
|
||||
(i32.const 18247680))))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 5)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 6)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -24,211 +24,217 @@
|
|||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(block $B4
|
||||
)
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(br_table $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(set_local $l10
|
||||
(set_local $l9
|
||||
(i32.add
|
||||
(get_local $l6)
|
||||
(get_local $l4)
|
||||
(i32.load
|
||||
(i32.const 744))))
|
||||
(block $B6
|
||||
(br_if $B6
|
||||
(block $B5
|
||||
(br_if $B5
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(i32.load offset=316208
|
||||
(tee_local $l10
|
||||
(i32.load offset=323504
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4041))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B3
|
||||
(br_if $B1
|
||||
(i32.and
|
||||
(tee_local $l11
|
||||
(tee_local $l10
|
||||
(call $e.safe_read32s_slow_jit
|
||||
(get_local $l10)
|
||||
(get_local $l9)
|
||||
(i32.const 0)))
|
||||
(i32.const 1))))
|
||||
(i32.load align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l11)
|
||||
(get_local $l10)
|
||||
(i32.const -4096))
|
||||
(get_local $l10))
|
||||
(get_local $l9))
|
||||
(i32.const 18247680)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.add
|
||||
(get_local $l6)
|
||||
(get_local $l4)
|
||||
(i32.const 4)))
|
||||
(set_local $l2)
|
||||
(set_local $l0)
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -24,213 +24,219 @@
|
|||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32) (local $l12 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32) (local $l11 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(block $B4
|
||||
)
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(br_table $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(set_local $l11
|
||||
(set_local $l10
|
||||
(i32.add
|
||||
(tee_local $l10
|
||||
(tee_local $l9
|
||||
(i32.sub
|
||||
(get_local $l6)
|
||||
(get_local $l4)
|
||||
(i32.const 4)))
|
||||
(i32.load
|
||||
(i32.const 744))))
|
||||
(block $B6
|
||||
(br_if $B6
|
||||
(block $B5
|
||||
(br_if $B5
|
||||
(i32.and
|
||||
(i32.eq
|
||||
(i32.and
|
||||
(tee_local $l12
|
||||
(i32.load offset=316208
|
||||
(tee_local $l11
|
||||
(i32.load offset=323504
|
||||
(i32.shl
|
||||
(i32.shr_u
|
||||
(get_local $l11)
|
||||
(get_local $l10)
|
||||
(i32.const 12))
|
||||
(i32.const 2))))
|
||||
(i32.const 4075))
|
||||
(i32.const 1))
|
||||
(i32.le_s
|
||||
(i32.and
|
||||
(get_local $l11)
|
||||
(get_local $l10)
|
||||
(i32.const 4095))
|
||||
(i32.const 4092))))
|
||||
(br_if $B3
|
||||
(br_if $B1
|
||||
(i32.and
|
||||
(tee_local $l12
|
||||
(tee_local $l11
|
||||
(call $e.safe_write32_slow_jit
|
||||
(get_local $l11)
|
||||
(get_local $l2)
|
||||
(get_local $l10)
|
||||
(get_local $l0)
|
||||
(i32.const 0)))
|
||||
(i32.const 1))))
|
||||
(i32.store align=1
|
||||
(i32.add
|
||||
(i32.xor
|
||||
(i32.and
|
||||
(get_local $l12)
|
||||
(get_local $l11)
|
||||
(i32.const -4096))
|
||||
(get_local $l11))
|
||||
(get_local $l10))
|
||||
(i32.const 18247680))
|
||||
(get_local $l2))
|
||||
(set_local $l6
|
||||
(get_local $l10))
|
||||
(get_local $l0))
|
||||
(set_local $l4
|
||||
(get_local $l9))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -19,231 +19,248 @@
|
|||
(type $t17 (func (param i32 i64 i32)))
|
||||
(type $t18 (func (param i32 i64 i32) (result i32)))
|
||||
(type $t19 (func (param i32 i64 i64 i32) (result i32)))
|
||||
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
|
||||
(import "e" "instr_FB_without_fault" (func $e.instr_FB_without_fault (type $t4)))
|
||||
(import "e" "trigger_gp_jit" (func $e.trigger_gp_jit (type $t2)))
|
||||
(import "e" "handle_irqs" (func $e.handle_irqs (type $t0)))
|
||||
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
|
||||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(block $B6
|
||||
(br_table $B6 $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(block $B4
|
||||
(block $B5
|
||||
(br_if $B4
|
||||
(i32.eq
|
||||
(get_local $p0)
|
||||
(i32.const 1))))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(if $I7
|
||||
(i32.eqz
|
||||
(call $e.instr_FB_without_fault))
|
||||
(then
|
||||
(call $e.trigger_gp_jit
|
||||
(i32.const 0)
|
||||
(i32.const 4096))
|
||||
(br $B3)))
|
||||
(set_local $l0
|
||||
(i32.const 53535353))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 11)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 6)))
|
||||
(set_local $l2
|
||||
(i32.const 42424242))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 12)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.handle_irqs)
|
||||
(return))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(if $I6
|
||||
(i32.eqz
|
||||
(call $e.instr_FB_without_fault))
|
||||
(then
|
||||
(call $e.trigger_gp_jit
|
||||
(i32.const 0)
|
||||
(i32.const 4096))
|
||||
(br $B1)))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 6)))
|
||||
(set_local $l0
|
||||
(i32.const 42424242))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.handle_irqs)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(i32.const 2)))
|
||||
(set_local $l2
|
||||
(i32.const 53535353))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 5)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 6)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -27,58 +27,48 @@
|
|||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(block $B4
|
||||
)
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(br_table $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(if $I6
|
||||
(if $I5
|
||||
(i32.and
|
||||
(i32.load8_u
|
||||
(i32.const 580))
|
||||
|
@ -86,7 +76,7 @@
|
|||
(then
|
||||
(call $e.task_switch_test_jit
|
||||
(i32.const 4096))
|
||||
(br $B3)))
|
||||
(br $B1)))
|
||||
(i32.const 1)
|
||||
(call $e.fpu_get_sti
|
||||
(i32.const 1136)
|
||||
|
@ -99,114 +89,130 @@
|
|||
(call $e.fpu_pop)
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 3)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -19,249 +19,264 @@
|
|||
(type $t17 (func (param i32 i64 i32)))
|
||||
(type $t18 (func (param i32 i64 i32) (result i32)))
|
||||
(type $t19 (func (param i32 i64 i64 i32) (result i32)))
|
||||
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
|
||||
(import "e" "task_switch_test_mmx_jit" (func $e.task_switch_test_mmx_jit (type $t1)))
|
||||
(import "e" "instr_660F54_reg" (func $e.instr_660F54_reg (type $t2)))
|
||||
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
|
||||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B5
|
||||
(block $B6
|
||||
(br_table $B6 $B5 $B3
|
||||
(get_local $l0)))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(block $B4
|
||||
(block $B5
|
||||
(br_if $B4
|
||||
(i32.eq
|
||||
(get_local $p0)
|
||||
(i32.const 0))))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.load
|
||||
(i32.const 556)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 4)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 4)))
|
||||
(if $I7
|
||||
(i32.and
|
||||
(i32.load8_u
|
||||
(i32.const 580))
|
||||
(i32.const 12))
|
||||
(then
|
||||
(call $e.task_switch_test_mmx_jit
|
||||
(i32.const 4096))
|
||||
(br $B3)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 5)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.instr_660F54_reg
|
||||
(i32.const 1)
|
||||
(i32.const 0))
|
||||
(set_local $l2
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.load
|
||||
(i32.const 556)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 0)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 4)))
|
||||
(if $I6
|
||||
(i32.and
|
||||
(i32.load8_u
|
||||
(i32.const 580))
|
||||
(i32.const 12))
|
||||
(then
|
||||
(call $e.task_switch_test_mmx_jit
|
||||
(i32.const 4096))
|
||||
(br $B1)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(get_local $l7))
|
||||
(call $e.instr_660F54_reg
|
||||
(i32.const 1)
|
||||
(i32.const 0))
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
|
@ -3,7 +3,7 @@ BITS 32
|
|||
start:
|
||||
cmp eax, 10
|
||||
jz end
|
||||
inc ebx
|
||||
add ebx, 1
|
||||
jmp start
|
||||
|
||||
end:
|
||||
|
|
|
@ -23,310 +23,230 @@
|
|||
(import "e" "trigger_fault_end_jit" (func $e.trigger_fault_end_jit (type $t0)))
|
||||
(import "e" "m" (memory $e.m 128))
|
||||
(func $f (export "f") (type $t1) (param $p0 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32) (local $l9 i32) (local $l10 i32)
|
||||
(local $l0 i32) (local $l1 i32) (local $l2 i32) (local $l3 i32) (local $l4 i32) (local $l5 i32) (local $l6 i32) (local $l7 i32) (local $l8 i32)
|
||||
(set_local $l0
|
||||
(get_local $p0))
|
||||
(set_local $l1
|
||||
(i32.const 20011))
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(set_local $l8
|
||||
(i32.const 0))
|
||||
(block $B0
|
||||
(loop $L1
|
||||
(block $B2
|
||||
(block $B1
|
||||
(loop $L2
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(block $B3
|
||||
(set_local $l1
|
||||
(i32.add
|
||||
(get_local $l1)
|
||||
(i32.const -1)))
|
||||
(if $I4
|
||||
(i32.eqz
|
||||
(get_local $l1))
|
||||
(then
|
||||
(br $B0)))
|
||||
(block $B4
|
||||
)
|
||||
(block $B5
|
||||
(block $B6
|
||||
(block $B7
|
||||
(br_table $B7 $B6 $B5 $B3
|
||||
(get_local $l0)))
|
||||
(loop $L6
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.const 556)
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 0)))
|
||||
(br_if $B0
|
||||
(i32.ge_u
|
||||
(get_local $l8)
|
||||
(i32.const 100003)))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(i32.sub
|
||||
(get_local $l2)
|
||||
(get_local $l0)
|
||||
(i32.const 10)))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const -2147481387))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(br_if $B5
|
||||
(i32.eqz
|
||||
(i32.load
|
||||
(i32.const 112))))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 3)))
|
||||
(get_local $l8)
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.const 96)
|
||||
(get_local $l3))
|
||||
(set_local $l3
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 5)))
|
||||
(if $I9
|
||||
(if $I8 (result i32)
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 116))
|
||||
(i32.const 64))
|
||||
(then
|
||||
(i32.and
|
||||
(i32.shr_u
|
||||
(i32.and
|
||||
(i32.xor
|
||||
(tee_local $l10
|
||||
(i32.load
|
||||
(i32.const 112)))
|
||||
(i32.const -1))
|
||||
(i32.sub
|
||||
(get_local $l10)
|
||||
(i32.const 1)))
|
||||
(i32.load
|
||||
(i32.const 104)))
|
||||
(i32.const 1)))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const 64))))
|
||||
(then
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 3)))
|
||||
(set_local $l0
|
||||
(i32.const 2))
|
||||
(br $L1))))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(i32.const 2)))
|
||||
(i32.store
|
||||
(i32.const 120)
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const -2))
|
||||
(if $I10 (result i32)
|
||||
(i32.and
|
||||
(tee_local $l10
|
||||
(i32.load
|
||||
(i32.const 116)))
|
||||
(i32.const 1))
|
||||
(then
|
||||
(set_local $l10
|
||||
(i32.shr_s
|
||||
(get_local $l10)
|
||||
(i32.const 31)))
|
||||
(i32.lt_u
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 112))
|
||||
(get_local $l10))
|
||||
(i32.xor
|
||||
(i32.load
|
||||
(i32.const 96))
|
||||
(get_local $l10))))
|
||||
(else
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 120))
|
||||
(i32.const 1))))))
|
||||
(i32.store
|
||||
(i32.const 96)
|
||||
(get_local $l5))
|
||||
(set_local $l5
|
||||
(i32.add
|
||||
(get_local $l5)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const 2260))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 3)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -8)))
|
||||
(set_local $l0
|
||||
(i32.const 0))
|
||||
(br $L1))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(get_local $l3)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 112)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 104)
|
||||
(i32.const 31))
|
||||
(i32.store
|
||||
(i32.const 116)
|
||||
(i32.const 2261))
|
||||
(br $L6)))
|
||||
(set_local $l8
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)
|
||||
(i32.const 1)))
|
||||
(i32.store
|
||||
(i32.const 560)
|
||||
(i32.load
|
||||
(i32.const 556)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 10)))
|
||||
(i32.store
|
||||
(i32.const 556)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const 1)))
|
||||
(i32.or
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.const 556))
|
||||
(i32.const -4096))
|
||||
(i32.const 11)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(get_local $l7))
|
||||
(call $e.instr_F4)
|
||||
(set_local $l2
|
||||
(set_local $l0
|
||||
(i32.load
|
||||
(i32.const 64)))
|
||||
(set_local $l3
|
||||
(set_local $l1
|
||||
(i32.load
|
||||
(i32.const 68)))
|
||||
(set_local $l4
|
||||
(set_local $l2
|
||||
(i32.load
|
||||
(i32.const 72)))
|
||||
(set_local $l5
|
||||
(set_local $l3
|
||||
(i32.load
|
||||
(i32.const 76)))
|
||||
(set_local $l6
|
||||
(set_local $l4
|
||||
(i32.load
|
||||
(i32.const 80)))
|
||||
(set_local $l7
|
||||
(set_local $l5
|
||||
(i32.load
|
||||
(i32.const 84)))
|
||||
(set_local $l8
|
||||
(set_local $l6
|
||||
(i32.load
|
||||
(i32.const 88)))
|
||||
(set_local $l9
|
||||
(set_local $l7
|
||||
(i32.load
|
||||
(i32.const 92)))
|
||||
(br $B0))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(return))
|
||||
(unreachable)))
|
||||
(unreachable)))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l7))
|
||||
(call $e.trigger_fault_end_jit)
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))
|
||||
(return))
|
||||
(i32.store
|
||||
(i32.const 64)
|
||||
(get_local $l2))
|
||||
(get_local $l0))
|
||||
(i32.store
|
||||
(i32.const 68)
|
||||
(get_local $l3))
|
||||
(get_local $l1))
|
||||
(i32.store
|
||||
(i32.const 72)
|
||||
(get_local $l4))
|
||||
(get_local $l2))
|
||||
(i32.store
|
||||
(i32.const 76)
|
||||
(get_local $l5))
|
||||
(get_local $l3))
|
||||
(i32.store
|
||||
(i32.const 80)
|
||||
(get_local $l6))
|
||||
(get_local $l4))
|
||||
(i32.store
|
||||
(i32.const 84)
|
||||
(get_local $l7))
|
||||
(get_local $l5))
|
||||
(i32.store
|
||||
(i32.const 88)
|
||||
(get_local $l8))
|
||||
(get_local $l6))
|
||||
(i32.store
|
||||
(i32.const 92)
|
||||
(get_local $l9))))
|
||||
(get_local $l7))
|
||||
(i32.store
|
||||
(i32.const 664)
|
||||
(i32.add
|
||||
(i32.load
|
||||
(i32.const 664))
|
||||
(get_local $l8)))))
|
||||
|
|
Loading…
Reference in a new issue