Update expect tests

This commit is contained in:
Fabian 2020-12-31 19:14:33 -06:00
parent 0c4e8a7e09
commit 39eb650ff3
17 changed files with 3295 additions and 3961 deletions

View file

@ -8,25 +8,26 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" "trigger_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -51,128 +52,106 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(br_table $B4 $B3 $B2
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(i32.store
(i32.const 96)
(get_local $l5))
(set_local $l5
(i32.add
(get_local $l5)
(get_local $l2)))
(i32.store
(i32.const 112)
(get_local $l5))
(i32.store
(i32.const 104)
(i32.const 31))
(i32.store
(i32.const 116)
(i32.const 2261))
(i32.store
(i32.const 560)
(i32.add
(i32.load
(i32.const 556))
(i32.const 2)))
(i32.store
(i32.const 556)
(i32.add
(i32.load
(i32.const 556))
(i32.const 3)))
(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)))
(block $B0
(loop $L1
(block $B2
(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
(br_table $B5 $B3
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(i32.store
(i32.const 96)
(get_local $l5))
(set_local $l5
(i32.add
(get_local $l5)
(get_local $l2)))
(i32.store
(i32.const 112)
(get_local $l5))
(i32.store
(i32.const 104)
(i32.const 31))
(i32.store
(i32.const 116)
(i32.const 2261))
(i32.store
(i32.const 560)
(i32.add
(i32.load
(i32.const 556))
(i32.const 2)))
(i32.store
(i32.const 556)
(i32.add
(i32.load
(i32.const 556))
(i32.const 3)))
(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))
@ -197,31 +176,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,28 +8,30 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(import "e" "safe_write32_slow_jit" (func $e.safe_write32_slow_jit (type $t13)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" "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" "jit_find_cache_entry_in_page" (func $e.jit_find_cache_entry_in_page (type $t14)))
(import "e" "trigger_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (type $t0)))
(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" "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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -54,47 +56,101 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(block $B0
(loop $L1
(block $B2
(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 $B4 $B3 $B2
(get_local $l0)))
(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
@ -105,301 +161,214 @@
(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 $B7
(br_if $B7
(i32.and
(i32.eq
(i32.and
(tee_local $l13
(i32.load offset=312104
(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 $L0))
(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 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 $I9 (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 $l2))
(set_local $l2
(i32.add
(get_local $l2)
(i32.const 1)))
(i32.store
(i32.const 560)
(i32.load
(i32.const 556)))
(i32.const 112)
(get_local $l2))
(i32.store
(i32.const 556)
(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 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)))
(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))
(return))
(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.const 556)
(i32.add
(i32.load
(i32.const 120))
(i32.const -2))
(if $I8 (result i32)
(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
(tee_local $l10
(i32.load
(i32.const 116)))
(i32.const 1))
(then
(set_local $l10
(i32.shr_s
(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 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.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.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 2)))
(set_local $l10
(i32.add
(get_local $l6)
(i32.load
(i32.const 744))))
(block $B9
(br_if $B9
(i32.and
(get_local $l11)
(i32.const -4096))
(get_local $l10))
(i32.const 18247680)))
(set_local $l6
(i32.add
(get_local $l6)
(i32.const 4)))
(i32.load
(i32.const 740))
(i32.add)
(set_local $l10)
(i32.store
(i32.const 556)
(get_local $l10))
(block $B11
(br_if $B11
(i32.eq
(i32.and
(tee_local $l11
(i32.load offset=312104
(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 7)))
(i32.const 1))))
(i32.load align=1
(i32.add
(i32.xor
(i32.const 1)))
(br_if $B3
(i32.and
(get_local $l11)
(i32.const -4096))
(get_local $l10))
(i32.const 18247680)))
(set_local $l6
(i32.add
(get_local $l6)
(i32.const 4)))
(i32.load
(i32.const 740))
(i32.add)
(set_local $l10)
(i32.store
(i32.const 556)
(get_local $l10))
(if $I10
(i32.eqz
(i32.and
(i32.xor
(get_local $l10)
(i32.load
(i32.const 560)))
(i32.const -4096)))
(then
(if $I11
(i32.ge_s
(tee_local $l10
(call $e.jit_find_cache_entry_in_page
(get_local $l10)
(i32.const 4103)
(i32.const 899)
(i32.const 3)))
(i32.const 0))
(then
(set_local $l0
(get_local $l10))
(br $L0)))))
(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)))
(br $B0))
(i32.store
(i32.const 64)
(get_local $l2))
@ -424,31 +393,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,25 +8,26 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" "trigger_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -51,228 +52,206 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(block $B0
(loop $L1
(block $B2
(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
(br_table $B5 $B4 $B3 $B2
(get_local $l0)))
(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)
(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.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 $I6 (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 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.load
(i32.const 556)))
(i32.store
(i32.const 556)
(i32.add
(i32.load
(i32.const 556))
(i32.const 6)))
(if $I8
(i32.eqz
(if $I7 (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 $L0))))
(i32.store
(i32.const 664)
(i32.add
(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 664))
(i32.const 1)))
(i32.store
(i32.const 560)
(i32.load
(i32.const 556)))
(i32.store
(i32.const 556)
(i32.add
(i32.const 64)))
(set_local $l3
(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)))
(set_local $l8
(i32.load
(i32.const 88)))
(set_local $l9
(i32.load
(i32.const 92)))
(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))
@ -297,31 +276,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,25 +8,26 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" "trigger_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -51,189 +52,220 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(block $B0
(loop $L1
(block $B2
(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 $B4 $B3 $B2
(get_local $l0)))
(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)
(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.const 1)))
(i32.store
(i32.const 560)
(i32.add
(i32.load
(i32.const 556))
(i32.const 3)))
(i32.load
(i32.const 556)))
(i32.store
(i32.const 556)
(i32.add
(i32.load
(i32.const 556))
(i32.const 5)))
(if $I10
(i32.eqz
(i32.or
(i32.xor
(i32.eqz
(if $I7 (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 $I8 (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 $I9 (result i32)
(i32.const 1)))
(i32.store
(i32.const 120)
(i32.or
(i32.and
(i32.load
(i32.const 120))
(i32.const -2))
(if $I12 (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 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 $L0))))
(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 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.const 2)))
(i32.store
(i32.const 120)
(i32.or
@ -241,7 +273,7 @@
(i32.load
(i32.const 120))
(i32.const -2))
(if $I11 (result i32)
(if $I13 (result i32)
(i32.and
(tee_local $l10
(i32.load
@ -268,135 +300,82 @@
(i32.const 1))))))
(i32.store
(i32.const 96)
(get_local $l3))
(set_local $l3
(get_local $l5))
(set_local $l5
(i32.add
(get_local $l3)
(get_local $l5)
(i32.const 1)))
(i32.store
(i32.const 112)
(get_local $l3))
(get_local $l5))
(i32.store
(i32.const 104)
(i32.const 31))
(i32.store
(i32.const 116)
(i32.const 2260)))
(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.const 2260))
(i32.store
(i32.const 560)
(i32.add
(i32.load
(i32.const 120))
(i32.const -2))
(if $I12 (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.const 556))
(i32.const 1)))
(i32.store
(i32.const 556)
(i32.add
(i32.load
(i32.const 556))
(i32.const 2)))
(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 556))
(i32.const 1)))
(i32.store
(i32.const 556)
(i32.add
(i32.const 64)))
(set_local $l3
(i32.load
(i32.const 556))
(i32.const 2)))
(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)))
(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))
@ -421,31 +400,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,25 +8,26 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" "trigger_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -51,160 +52,138 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(br_table $B4 $B3 $B2
(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
(block $B0
(loop $L1
(block $B2
(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
(br_table $B5 $B3
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 120))
(i32.const -2))
(if $I5 (result i32)
(i32.const 664))
(i32.const 2)))
(i32.store
(i32.const 120)
(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.load
(i32.const 120))
(i32.const -2))
(if $I6 (result i32)
(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
(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 2)))
(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 556))
(i32.const 1)))
(i32.store
(i32.const 556)
(i32.add
(i32.const 64)))
(set_local $l3
(i32.load
(i32.const 556))
(i32.const 2)))
(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)))
(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))
@ -229,31 +208,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,30 +8,32 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" (func $e.trigger_gp (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" "safe_write32_slow_jit" (func $e.safe_write32_slow_jit (type $t13)))
(import "e" "jit_find_cache_entry_in_page" (func $e.jit_find_cache_entry_in_page (type $t14)))
(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_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -56,46 +58,183 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(block $B0
(loop $L1
(block $B2
(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
(br_table $B5 $B4 $B3 $B2
(get_local $l0)))
(block $B6
(br_table $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 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.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.and
(tee_local $l11
(call $e.get_phys_eip_slow_jit
(get_local $l10)))
(i32.const 1))))
(if $I11
(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)))
(br $B0))
(i32.store
(i32.const 664)
(i32.add
@ -111,168 +250,7 @@
(i32.add
(i32.load
(i32.const 556))
(i32.const 2)))
(get_local $l2)
(call $e.log_segment_null
(i32.const 3))
(if $I6
(i32.load8_u
(i32.const 727))
(then
(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))
(i32.store
(i32.const 560)
(i32.or
(i32.and
(i32.load
(i32.const 556))
(i32.const -4096))
(i32.const 0)))
(call $e.trigger_gp
(i32.const 0))
(return)))
(i32.load
(i32.const 748))
(i32.add)
(set_local $l10)
(block $B7
(br_if $B7
(i32.and
(i32.eq
(i32.and
(tee_local $l11
(i32.load offset=312104
(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 $B8
(br_if $B8
(i32.and
(i32.eq
(i32.and
(tee_local $l14
(i32.load offset=312104
(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))
(if $I9
(i32.eqz
(i32.and
(i32.xor
(get_local $l10)
(i32.load
(i32.const 560)))
(i32.const -4096)))
(then
(if $I10
(i32.ge_s
(tee_local $l10
(call $e.jit_find_cache_entry_in_page
(get_local $l10)
(i32.const 4096)
(i32.const 899)
(i32.const 3)))
(i32.const 0))
(then
(set_local $l0
(get_local $l10))
(br $L0)))))
(i32.const 1)))
(i32.store
(i32.const 64)
(get_local $l2))
@ -297,72 +275,32 @@
(i32.store
(i32.const 92)
(get_local $l9))
(return))
(i32.store
(i32.const 664)
(i32.add
(call $e.instr_F4)
(set_local $l2
(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.const 64)))
(set_local $l3
(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)))
(set_local $l8
(i32.load
(i32.const 88)))
(set_local $l9
(i32.load
(i32.const 92)))
(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))
@ -387,31 +325,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,25 +8,26 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" "trigger_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -51,193 +52,171 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(block $B0
(loop $L1
(block $B2
(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
(br_table $B5 $B4 $B3 $B2
(get_local $l0)))
(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)
(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.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 $I6 (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 $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.load
(i32.const 556)))
(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 $I7
(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 $L0))))
(i32.store
(i32.const 664)
(i32.add
(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 664))
(i32.const 1)))
(i32.store
(i32.const 560)
(i32.load
(i32.const 556)))
(i32.store
(i32.const 556)
(i32.add
(i32.const 64)))
(set_local $l3
(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)))
(set_local $l8
(i32.load
(i32.const 88)))
(set_local $l9
(i32.load
(i32.const 92)))
(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))
@ -262,31 +241,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,28 +8,29 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" (func $e.trigger_gp (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_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -54,195 +55,142 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(br_table $B4 $B3 $B2
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(i32.add
(get_local $l5)
(i32.const 123456789))
(call $e.log_segment_null
(i32.const 3))
(if $I5
(i32.load8_u
(i32.const 727))
(then
(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))
(i32.store
(i32.const 560)
(i32.or
(i32.and
(i32.load
(i32.const 556))
(i32.const -4096))
(i32.const 0)))
(call $e.trigger_gp
(i32.const 0))
(return)))
(i32.load
(i32.const 748))
(i32.add)
(set_local $l10)
(block $B6
(br_if $B6
(i32.and
(i32.eq
(i32.and
(tee_local $l11
(i32.load offset=312104
(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 $l2
(i32.load align=1
(block $B0
(loop $L1
(block $B2
(block $B3
(set_local $l1
(i32.add
(i32.xor
(i32.and
(get_local $l11)
(i32.const -4096))
(get_local $l10))
(i32.const 18247680))))
(i32.store
(i32.const 560)
(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))
(i32.const 2)))
(i32.add
(get_local $l5)
(i32.const 123456789))
(call $e.log_segment_null
(i32.const 3))
(if $I6
(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 $B7
(br_if $B7
(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 $l2
(i32.load align=1
(i32.add
(i32.xor
(i32.and
(get_local $l11)
(i32.const -4096))
(get_local $l10))
(i32.const 18247680))))
(i32.store
(i32.const 560)
(i32.add
(i32.load
(i32.const 556))
(i32.const 6)))
(i32.store
(i32.const 556)
(i32.add
(i32.load
(i32.const 556))
(i32.const 7)))
(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 556))
(i32.const 6)))
(i32.store
(i32.const 556)
(i32.add
(i32.const 64)))
(set_local $l3
(i32.load
(i32.const 556))
(i32.const 7)))
(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)))
(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))
@ -267,31 +215,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,30 +8,31 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" (func $e.trigger_gp (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 $t13)))
(import "e" "safe_write32_slow_jit" (func $e.safe_write32_slow_jit (type $t15)))
(import "e" "bug_gen_safe_read_write_page_fault" (func $e.bug_gen_safe_read_write_page_fault (type $t2)))
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
(import "e" "trigger_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -56,265 +57,212 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(br_table $B4 $B3 $B2
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(i32.add
(get_local $l2)
(i32.const 123456789))
(call $e.log_segment_null
(i32.const 3))
(if $I5
(i32.load8_u
(i32.const 727))
(then
(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))
(i32.store
(i32.const 560)
(i32.or
(i32.and
(i32.load
(i32.const 556))
(i32.const -4096))
(i32.const 0)))
(call $e.trigger_gp
(i32.const 0))
(return)))
(i32.load
(i32.const 748))
(i32.add)
(set_local $l10)
(block $B6
(br_if $B6
(tee_local $l12
(i32.and
(i32.eq
(i32.and
(tee_local $l11
(i32.load offset=312104
(i32.shl
(i32.shr_u
(get_local $l10)
(i32.const 12))
(i32.const 2))))
(i32.const 4075))
(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_read_write32s_slow_jit
(get_local $l10)
(i32.const 0)))
(i32.const 1))))
(set_local $l13
(i32.load align=1
(tee_local $l11
(i32.add
(i32.xor
(i32.and
(get_local $l11)
(i32.const -4096))
(get_local $l10))
(i32.const 18247680)))))
(i32.store
(i32.const 120)
(i32.or
(i32.and
(block $B0
(loop $L1
(block $B2
(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
(br_table $B5 $B3
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 120))
(i32.const -2))
(if $I7 (result i32)
(i32.and
(tee_local $l14
(i32.load
(i32.const 116)))
(i32.const 1))
(then
(set_local $l14
(i32.shr_s
(get_local $l14)
(i32.const 31)))
(i32.lt_u
(i32.xor
(i32.load
(i32.const 112))
(get_local $l14))
(i32.xor
(i32.load
(i32.const 96))
(get_local $l14))))
(else
(i32.const 664))
(i32.const 2)))
(i32.add
(get_local $l2)
(i32.const 123456789))
(call $e.log_segment_null
(i32.const 3))
(if $I6
(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 $B7
(br_if $B7
(tee_local $l12
(i32.and
(i32.load
(i32.const 120))
(i32.const 1))))))
(i32.store
(i32.const 96)
(get_local $l13))
(set_local $l13
(i32.add
(get_local $l13)
(i32.const 1)))
(i32.store
(i32.const 112)
(get_local $l13))
(i32.store
(i32.const 104)
(i32.const 31))
(i32.store
(i32.const 116)
(i32.const 2260))
(set_local $l13
(get_local $l13))
(if $I8
(i32.eqz
(get_local $l12))
(then
(if $I9
(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 4075))
(i32.const 1))
(i32.le_s
(i32.and
(get_local $l10)
(i32.const 4095))
(i32.const 4092)))))
(br_if $B3
(i32.and
(call $e.safe_write32_slow_jit
(get_local $l10)
(get_local $l13)
(i32.const 4096))
(i32.const 1))
(then
(call $e.bug_gen_safe_read_write_page_fault
(i32.const 32)
(get_local $l10))))))
(i32.store align=1
(get_local $l11)
(get_local $l13))
(i32.store
(i32.const 560)
(i32.add
(tee_local $l11
(call $e.safe_read_write32s_slow_jit
(get_local $l10)
(i32.const 0)))
(i32.const 1))))
(set_local $l13
(i32.load align=1
(tee_local $l11
(i32.add
(i32.xor
(i32.and
(get_local $l11)
(i32.const -4096))
(get_local $l10))
(i32.const 18247680)))))
(i32.store
(i32.const 120)
(i32.or
(i32.and
(i32.load
(i32.const 120))
(i32.const -2))
(if $I8 (result i32)
(i32.and
(tee_local $l14
(i32.load
(i32.const 116)))
(i32.const 1))
(then
(set_local $l14
(i32.shr_s
(get_local $l14)
(i32.const 31)))
(i32.lt_u
(i32.xor
(i32.load
(i32.const 112))
(get_local $l14))
(i32.xor
(i32.load
(i32.const 96))
(get_local $l14))))
(else
(i32.and
(i32.load
(i32.const 120))
(i32.const 1))))))
(i32.store
(i32.const 96)
(get_local $l13))
(set_local $l13
(i32.add
(get_local $l13)
(i32.const 1)))
(i32.store
(i32.const 112)
(get_local $l13))
(i32.store
(i32.const 104)
(i32.const 31))
(i32.store
(i32.const 116)
(i32.const 2260))
(set_local $l13
(get_local $l13))
(if $I9
(i32.eqz
(get_local $l12))
(then
(if $I10
(i32.and
(call $e.safe_write32_slow_jit
(get_local $l10)
(get_local $l13)
(i32.const 4096))
(i32.const 1))
(then
(call $e.bug_gen_safe_read_write_page_fault
(i32.const 32)
(get_local $l10))))))
(i32.store align=1
(get_local $l11)
(get_local $l13))
(i32.store
(i32.const 560)
(i32.add
(i32.load
(i32.const 556))
(i32.const 6)))
(i32.store
(i32.const 556)
(i32.add
(i32.load
(i32.const 556))
(i32.const 7)))
(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 556))
(i32.const 6)))
(i32.store
(i32.const 556)
(i32.add
(i32.const 64)))
(set_local $l3
(i32.load
(i32.const 556))
(i32.const 7)))
(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)))
(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))
@ -339,31 +287,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,28 +8,29 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" (func $e.trigger_gp (type $t1)))
(import "e" "safe_write32_slow_jit" (func $e.safe_write32_slow_jit (type $t13)))
(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_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -54,196 +55,143 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(br_table $B4 $B3 $B2
(get_local $l0)))
(i32.store
(i32.const 664)
(block $B0
(loop $L1
(block $B2
(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
(br_table $B5 $B3
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(i32.add
(get_local $l5)
(i32.const 123456789))
(call $e.log_segment_null
(i32.const 3))
(if $I5
(i32.load8_u
(i32.const 727))
(then
(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))
(i32.store
(i32.const 560)
(i32.or
(i32.and
(i32.load
(i32.const 556))
(i32.const -4096))
(i32.const 0)))
(call $e.trigger_gp
(i32.const 0))
(return)))
(i32.load
(i32.const 748))
(i32.add)
(set_local $l10)
(block $B6
(br_if $B6
(i32.and
(i32.eq
(i32.and
(tee_local $l11
(i32.load offset=312104
(i32.shl
(i32.shr_u
(get_local $l10)
(i32.const 12))
(i32.const 2))))
(i32.const 4075))
(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_write32_slow_jit
(get_local $l10)
(get_local $l2)
(i32.const 0)))
(i32.const 1))))
(i32.store align=1
(i32.add
(i32.xor
(get_local $l5)
(i32.const 123456789))
(call $e.log_segment_null
(i32.const 3))
(if $I6
(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 $B7
(br_if $B7
(i32.and
(get_local $l11)
(i32.const -4096))
(get_local $l10))
(i32.const 18247680))
(get_local $l2))
(i32.store
(i32.const 560)
(i32.add
(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 4075))
(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_write32_slow_jit
(get_local $l10)
(get_local $l2)
(i32.const 0)))
(i32.const 1))))
(i32.store align=1
(i32.add
(i32.xor
(i32.and
(get_local $l11)
(i32.const -4096))
(get_local $l10))
(i32.const 18247680))
(get_local $l2))
(i32.store
(i32.const 560)
(i32.add
(i32.load
(i32.const 556))
(i32.const 6)))
(i32.store
(i32.const 556)
(i32.add
(i32.load
(i32.const 556))
(i32.const 7)))
(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 556))
(i32.const 6)))
(i32.store
(i32.const 556)
(i32.add
(i32.const 64)))
(set_local $l3
(i32.load
(i32.const 556))
(i32.const 7)))
(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)))
(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))
@ -268,31 +216,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,28 +8,29 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" (func $e.trigger_gp (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_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -54,193 +55,140 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(br_table $B4 $B3 $B2
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(i32.const 51966)
(call $e.log_segment_null
(i32.const 3))
(if $I5
(i32.load8_u
(i32.const 727))
(then
(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))
(i32.store
(i32.const 560)
(i32.or
(i32.and
(i32.load
(i32.const 556))
(i32.const -4096))
(i32.const 0)))
(call $e.trigger_gp
(i32.const 0))
(return)))
(i32.load
(i32.const 748))
(i32.add)
(set_local $l10)
(block $B6
(br_if $B6
(i32.and
(i32.eq
(i32.and
(tee_local $l11
(i32.load offset=312104
(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 $l2
(i32.load align=1
(block $B0
(loop $L1
(block $B2
(block $B3
(set_local $l1
(i32.add
(i32.xor
(i32.and
(get_local $l11)
(i32.const -4096))
(get_local $l10))
(i32.const 18247680))))
(i32.store
(i32.const 560)
(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))
(i32.const 2)))
(i32.const 51966)
(call $e.log_segment_null
(i32.const 3))
(if $I6
(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 $B7
(br_if $B7
(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 $l2
(i32.load align=1
(i32.add
(i32.xor
(i32.and
(get_local $l11)
(i32.const -4096))
(get_local $l10))
(i32.const 18247680))))
(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 556))
(i32.const 5)))
(i32.store
(i32.const 556)
(i32.add
(i32.const 64)))
(set_local $l3
(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)))
(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))
@ -265,31 +213,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,26 +8,27 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" "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_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -52,156 +53,134 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(br_table $B4 $B3 $B2
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(set_local $l10
(i32.add
(get_local $l6)
(i32.load
(i32.const 744))))
(block $B5
(br_if $B5
(i32.and
(i32.eq
(i32.and
(tee_local $l11
(i32.load offset=312104
(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))))
(i32.load align=1
(i32.add
(i32.xor
(block $B0
(loop $L1
(block $B2
(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
(br_table $B5 $B3
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(set_local $l10
(i32.add
(get_local $l6)
(i32.load
(i32.const 744))))
(block $B6
(br_if $B6
(i32.and
(get_local $l11)
(i32.const -4096))
(get_local $l10))
(i32.const 18247680)))
(set_local $l6
(i32.add
(get_local $l6)
(i32.const 4)))
(set_local $l2)
(i32.store
(i32.const 560)
(i32.add
(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))))
(i32.load align=1
(i32.add
(i32.xor
(i32.and
(get_local $l11)
(i32.const -4096))
(get_local $l10))
(i32.const 18247680)))
(set_local $l6
(i32.add
(get_local $l6)
(i32.const 4)))
(set_local $l2)
(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 2)))
(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 556))
(i32.const 1)))
(i32.store
(i32.const 556)
(i32.add
(i32.const 64)))
(set_local $l3
(i32.load
(i32.const 556))
(i32.const 2)))
(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)))
(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))
@ -226,31 +205,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,26 +8,27 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(import "e" "safe_write32_slow_jit" (func $e.safe_write32_slow_jit (type $t13)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" "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_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -52,158 +53,136 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(br_table $B4 $B3 $B2
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(set_local $l11
(i32.add
(tee_local $l10
(i32.sub
(get_local $l6)
(i32.const 4)))
(i32.load
(i32.const 744))))
(block $B5
(br_if $B5
(i32.and
(i32.eq
(i32.and
(tee_local $l12
(i32.load offset=312104
(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 $B3
(i32.and
(tee_local $l12
(call $e.safe_write32_slow_jit
(get_local $l11)
(get_local $l2)
(i32.const 0)))
(i32.const 1))))
(i32.store align=1
(i32.add
(i32.xor
(block $B0
(loop $L1
(block $B2
(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
(br_table $B5 $B3
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(set_local $l11
(i32.add
(tee_local $l10
(i32.sub
(get_local $l6)
(i32.const 4)))
(i32.load
(i32.const 744))))
(block $B6
(br_if $B6
(i32.and
(get_local $l12)
(i32.const -4096))
(get_local $l11))
(i32.const 18247680))
(get_local $l2))
(set_local $l6
(get_local $l10))
(i32.store
(i32.const 560)
(i32.add
(i32.eq
(i32.and
(tee_local $l12
(i32.load offset=316208
(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 $B3
(i32.and
(tee_local $l12
(call $e.safe_write32_slow_jit
(get_local $l11)
(get_local $l2)
(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 $l2))
(set_local $l6
(get_local $l10))
(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 2)))
(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 556))
(i32.const 1)))
(i32.store
(i32.const 556)
(i32.add
(i32.const 64)))
(set_local $l3
(i32.load
(i32.const 556))
(i32.const 2)))
(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)))
(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))
@ -228,31 +207,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,28 +8,29 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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_FB_without_fault" (func $e.instr_FB_without_fault (type $t4)))
(import "e" "trigger_gp" (func $e.trigger_gp (type $t1)))
(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_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -54,105 +55,97 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(block $B0
(loop $L1
(block $B2
(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
(br_table $B5 $B4 $B3 $B2
(get_local $l0)))
(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)))
(if $I7
(i32.eqz
(call $e.instr_FB_without_fault))
(then
(call $e.trigger_gp_jit
(i32.const 0)
(i32.const 4096))
(br $B3)))
(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 6)))
(set_local $l2
(i32.const 42424242))
(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.handle_irqs)
(return))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(if $I6
(i32.eqz
(call $e.instr_FB_without_fault))
(then
(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))
(i32.store
(i32.const 560)
(i32.or
(i32.and
(i32.load
(i32.const 556))
(i32.const -4096))
(i32.const 0)))
(call $e.trigger_gp
(i32.const 0))
(return)))
(set_local $l2
(i32.const 53535353))
(i32.store
(i32.const 560)
(i32.add
(i32.load
(i32.const 556))
(i32.const 1)))
(i32.const 5)))
(i32.store
(i32.const 556)
(i32.add
(i32.load
(i32.const 556))
(i32.const 6)))
(set_local $l2
(i32.const 42424242))
(i32.store
(i32.const 64)
(get_local $l2))
@ -177,77 +170,32 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.handle_irqs)
(return))
(i32.store
(i32.const 664)
(i32.add
(call $e.instr_F4)
(set_local $l2
(i32.load
(i32.const 664))
(i32.const 2)))
(set_local $l2
(i32.const 53535353))
(i32.store
(i32.const 560)
(i32.add
(i32.const 64)))
(set_local $l3
(i32.load
(i32.const 556))
(i32.const 5)))
(i32.store
(i32.const 556)
(i32.add
(i32.const 68)))
(set_local $l4
(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)))
(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))
@ -272,31 +220,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,29 +8,30 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(import "e" "task_switch_test_jit" (func $e.task_switch_test_jit (type $t0)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" "task_switch_test_jit" (func $e.task_switch_test_jit (type $t1)))
(import "e" "fpu_get_sti" (func $e.fpu_get_sti (type $t2)))
(import "e" "fpu_fadd" (func $e.fpu_fadd (type $t16)))
(import "e" "fpu_fadd" (func $e.fpu_fadd (type $t17)))
(import "e" "fpu_pop" (func $e.fpu_pop (type $t0)))
(import "e" "instr_F4" (func $e.instr_F4 (type $t0)))
(import "e" "trigger_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -55,162 +56,109 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(br_table $B4 $B3 $B2
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(if $I5
(i32.and
(i32.load8_u
(i32.const 580))
(i32.const 12))
(then
(i32.store
(i32.const 560)
(i32.or
(i32.and
(i32.load
(i32.const 556))
(i32.const -4096))
(i32.const 0)))
(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.task_switch_test_jit)
(return)))
(i32.const 1)
(call $e.fpu_get_sti
(i32.const 1136)
(i32.const 1))
(i64.load
(i32.const 1136))
(i32.load16_u
(i32.const 1144))
(call $e.fpu_fadd)
(call $e.fpu_pop)
(i32.store
(i32.const 560)
(i32.add
(i32.load
(i32.const 556))
(i32.const 2)))
(i32.store
(i32.const 556)
(i32.add
(i32.load
(i32.const 556))
(i32.const 3)))
(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)))
(block $B0
(loop $L1
(block $B2
(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
(br_table $B5 $B3
(get_local $l0)))
(i32.store
(i32.const 664)
(i32.add
(i32.load
(i32.const 664))
(i32.const 2)))
(if $I6
(i32.and
(i32.load8_u
(i32.const 580))
(i32.const 12))
(then
(call $e.task_switch_test_jit
(i32.const 4096))
(br $B3)))
(i32.const 1)
(call $e.fpu_get_sti
(i32.const 1136)
(i32.const 1))
(i64.load
(i32.const 1136))
(i32.load16_u
(i32.const 1144))
(call $e.fpu_fadd)
(call $e.fpu_pop)
(i32.store
(i32.const 560)
(i32.add
(i32.load
(i32.const 556))
(i32.const 2)))
(i32.store
(i32.const 556)
(i32.add
(i32.load
(i32.const 556))
(i32.const 3)))
(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))
@ -235,31 +183,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,27 +8,28 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(import "e" "task_switch_test_mmx_jit" (func $e.task_switch_test_mmx_jit (type $t0)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" "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_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -53,46 +54,100 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(block $B0
(loop $L1
(block $B2
(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
(br_table $B5 $B4 $B3 $B2
(get_local $l0)))
(block $B6
(br_table $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 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.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_660F54_reg
(i32.const 1)
(i32.const 0))
(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 664)
(i32.add
@ -108,47 +163,7 @@
(i32.add
(i32.load
(i32.const 556))
(i32.const 4)))
(if $I6
(i32.and
(i32.load8_u
(i32.const 580))
(i32.const 12))
(then
(i32.store
(i32.const 560)
(i32.or
(i32.and
(i32.load
(i32.const 556))
(i32.const -4096))
(i32.const 0)))
(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.task_switch_test_mmx_jit)
(return)))
(i32.const 1)))
(i32.store
(i32.const 64)
(get_local $l2))
@ -173,9 +188,7 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.instr_660F54_reg
(i32.const 1)
(i32.const 0))
(call $e.instr_F4)
(set_local $l2
(i32.load
(i32.const 64)))
@ -200,96 +213,7 @@
(set_local $l9
(i32.load
(i32.const 92)))
(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))
(return))
(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)))
(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))
@ -314,31 +238,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))

View file

@ -8,25 +8,26 @@
(type $t6 (func (param i32) (result i32)))
(type $t7 (func (param i32 i32) (result i32)))
(type $t8 (func (param i32) (result i64)))
(type $t9 (func (param i32 i64)))
(type $t10 (func (param i64 i32)))
(type $t11 (func (param i64 i32) (result i32)))
(type $t12 (func (param i64 i32) (result i64)))
(type $t13 (func (param i32 i32 i32) (result i32)))
(type $t14 (func (param i32 i32 i32 i32) (result i32)))
(type $t15 (func (param i64 i32 i32)))
(type $t16 (func (param i32 i64 i32)))
(type $t17 (func (param i32 i64 i32) (result i32)))
(type $t18 (func (param i32 i64 i64 i32) (result i32)))
(type $t9 (func (param f32) (result i32)))
(type $t10 (func (param f64) (result i32)))
(type $t11 (func (param i32 i64)))
(type $t12 (func (param i64 i32)))
(type $t13 (func (param i64 i32) (result i32)))
(type $t14 (func (param i64 i32) (result i64)))
(type $t15 (func (param i32 i32 i32) (result i32)))
(type $t16 (func (param i64 i32 i32)))
(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" "trigger_pagefault_end_jit" (func $e.trigger_pagefault_end_jit (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)
(set_local $l0
(get_local $p0))
(set_local $l1
(i32.const 10000))
(i32.const 20011))
(set_local $l2
(i32.load
(i32.const 64)))
@ -51,47 +52,92 @@
(set_local $l9
(i32.load
(i32.const 92)))
(loop $L0
(set_local $l1
(i32.add
(get_local $l1)
(i32.const -1)))
(if $I1
(i32.eqz
(get_local $l1))
(then
(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))
(return)))
(block $B2
(block $B3
(block $B4
(block $B0
(loop $L1
(block $B2
(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 $B4 $B3 $B2
(get_local $l0)))
(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 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 3)))
(i32.store
(i32.const 556)
(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
@ -99,21 +145,61 @@
(i32.const 664))
(i32.const 2)))
(i32.store
(i32.const 112)
(i32.sub
(get_local $l2)
(i32.const 10)))
(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 $l2))
(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 -2147481387))
(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))
@ -123,183 +209,76 @@
(i32.add
(i32.load
(i32.const 556))
(i32.const 5)))
(if $I8
(if $I7 (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 $L0))))
(i32.const -8)))
(set_local $l0
(i32.const 0))
(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 $I9 (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.load
(i32.const 556)))
(i32.store
(i32.const 556)
(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.const 64)
(get_local $l2))
(i32.store
(i32.const 556)
(i32.add
(i32.load
(i32.const 556))
(i32.const -8)))
(set_local $l0
(i32.const 0))
(br $L0))
(i32.store
(i32.const 664)
(i32.add
(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 664))
(i32.const 1)))
(i32.store
(i32.const 560)
(i32.load
(i32.const 556)))
(i32.store
(i32.const 556)
(i32.add
(i32.const 64)))
(set_local $l3
(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)))
(set_local $l8
(i32.load
(i32.const 88)))
(set_local $l9
(i32.load
(i32.const 92)))
(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))
@ -324,31 +303,30 @@
(i32.store
(i32.const 92)
(get_local $l9))
(call $e.trigger_fault_end_jit)
(return))
(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_pagefault_end_jit)
(return))
(unreachable))))
(unreachable)))
(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))))