| (module |
| (type $none_=>_none (func)) |
| (type $i32_=>_i32 (func (param i32) (result i32))) |
| (type $none_=>_i32 (func (result i32))) |
| (type $ii (func (param i32 i32))) |
| (type $i32_=>_none (func (param i32))) |
| (type $f64_=>_none (func (param f64))) |
| (import "env" "STACKTOP" (global $STACKTOP$asm2wasm$import i32)) |
| (import "env" "segfault" (func $segfault (param i32))) |
| (global $stack_ptr (mut i32) (global.get $STACKTOP$asm2wasm$import)) |
| (memory $0 10) |
| (table $0 1 1 funcref) |
| (elem (i32.const 0)) |
| (func $nothing |
| (nop) |
| ) |
| (func $not-alive |
| (local $x i32) |
| (local.set $x |
| (i32.const 1) |
| ) |
| (call $nothing) |
| ) |
| (func $spill |
| (local $x i32) |
| (local $1 i32) |
| (local.set $1 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $1) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (block |
| (i32.store |
| (local.get $1) |
| (local.get $x) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| ) |
| (func $ignore-non-pointers |
| (local $x i32) |
| (local $y i64) |
| (local $z f32) |
| (local $w f64) |
| (local $4 i32) |
| (local.set $4 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $4) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (local.set $x |
| (i32.const 1) |
| ) |
| (local.set $y |
| (i64.const 1) |
| ) |
| (local.set $z |
| (f32.const 1) |
| ) |
| (local.set $w |
| (f64.const 1) |
| ) |
| (block |
| (i32.store |
| (local.get $4) |
| (local.get $x) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| (drop |
| (local.get $y) |
| ) |
| (drop |
| (local.get $z) |
| ) |
| (drop |
| (local.get $w) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $4) |
| ) |
| ) |
| (func $spill4 |
| (local $x i32) |
| (local $y i32) |
| (local $z i32) |
| (local $w i32) |
| (local $4 i32) |
| (local.set $4 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $4) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (local.set $x |
| (i32.const 1) |
| ) |
| (local.set $y |
| (i32.const 1) |
| ) |
| (local.set $z |
| (i32.const 1) |
| ) |
| (local.set $w |
| (i32.const 1) |
| ) |
| (block |
| (i32.store |
| (local.get $4) |
| (local.get $x) |
| ) |
| (i32.store offset=4 |
| (local.get $4) |
| (local.get $y) |
| ) |
| (i32.store offset=8 |
| (local.get $4) |
| (local.get $z) |
| ) |
| (i32.store offset=12 |
| (local.get $4) |
| (local.get $w) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| (drop |
| (local.get $y) |
| ) |
| (drop |
| (local.get $z) |
| ) |
| (drop |
| (local.get $w) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $4) |
| ) |
| ) |
| (func $spill5 |
| (local $x i32) |
| (local $y i32) |
| (local $z i32) |
| (local $w i32) |
| (local $a i32) |
| (local $5 i32) |
| (local.set $5 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $5) |
| (i32.const 32) |
| ) |
| ) |
| (block |
| (local.set $x |
| (i32.const 1) |
| ) |
| (local.set $y |
| (i32.const 1) |
| ) |
| (local.set $z |
| (i32.const 1) |
| ) |
| (local.set $w |
| (i32.const 1) |
| ) |
| (local.set $a |
| (i32.const 1) |
| ) |
| (block |
| (i32.store |
| (local.get $5) |
| (local.get $x) |
| ) |
| (i32.store offset=4 |
| (local.get $5) |
| (local.get $y) |
| ) |
| (i32.store offset=8 |
| (local.get $5) |
| (local.get $z) |
| ) |
| (i32.store offset=12 |
| (local.get $5) |
| (local.get $w) |
| ) |
| (i32.store offset=16 |
| (local.get $5) |
| (local.get $a) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| (drop |
| (local.get $y) |
| ) |
| (drop |
| (local.get $z) |
| ) |
| (drop |
| (local.get $w) |
| ) |
| (drop |
| (local.get $a) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $5) |
| ) |
| ) |
| (func $some-alive |
| (local $x i32) |
| (local $y i32) |
| (local $2 i32) |
| (local.set $2 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $2) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (block |
| (i32.store |
| (local.get $2) |
| (local.get $x) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $2) |
| ) |
| ) |
| (func $spill-args (param $p i32) (param $q i32) |
| (local $x i32) |
| (local $3 i32) |
| (local $4 i32) |
| (local $5 i32) |
| (local.set $3 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $3) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (block |
| (local.set $4 |
| (i32.const 1) |
| ) |
| (local.set $5 |
| (i32.const 2) |
| ) |
| (i32.store offset=8 |
| (local.get $3) |
| (local.get $x) |
| ) |
| (call $spill-args |
| (local.get $4) |
| (local.get $5) |
| ) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $3) |
| ) |
| ) |
| (func $spill-ret (result i32) |
| (local $x i32) |
| (local $1 i32) |
| (local $2 i32) |
| (local $3 i32) |
| (local $4 i32) |
| (local.set $1 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $1) |
| (i32.const 16) |
| ) |
| ) |
| (local.set $4 |
| (block (result i32) |
| (block |
| (i32.store |
| (local.get $1) |
| (local.get $x) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| (if |
| (i32.const 1) |
| (block |
| (local.set $2 |
| (i32.const 2) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (return |
| (local.get $2) |
| ) |
| ) |
| (block |
| (local.set $3 |
| (i32.const 3) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (return |
| (local.get $3) |
| ) |
| ) |
| ) |
| (i32.const 4) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (local.get $4) |
| ) |
| (func $spill-unreachable (result i32) |
| (local $x i32) |
| (local $1 i32) |
| (local $2 i32) |
| (local.set $1 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $1) |
| (i32.const 16) |
| ) |
| ) |
| (local.set $2 |
| (block (result i32) |
| (block |
| (i32.store |
| (local.get $1) |
| (local.get $x) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| (unreachable) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (local.get $2) |
| ) |
| (func $spill-call-call0 (param $p i32) (result i32) |
| (unreachable) |
| ) |
| (func $spill-call-call1 (param $p i32) (result i32) |
| (local $x i32) |
| (local $2 i32) |
| (local $3 i32) |
| (local $4 i32) |
| (local $5 i32) |
| (local.set $2 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $2) |
| (i32.const 16) |
| ) |
| ) |
| (local.set $5 |
| (block (result i32) |
| (drop |
| (block (result i32) |
| (local.set $3 |
| (block (result i32) |
| (local.set $4 |
| (i32.const 1) |
| ) |
| (i32.store offset=4 |
| (local.get $2) |
| (local.get $x) |
| ) |
| (call $spill-call-call1 |
| (local.get $4) |
| ) |
| ) |
| ) |
| (i32.store offset=4 |
| (local.get $2) |
| (local.get $x) |
| ) |
| (call $spill-call-call0 |
| (local.get $3) |
| ) |
| ) |
| ) |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $2) |
| ) |
| (local.get $5) |
| ) |
| (func $spill-call-ret (param $p i32) (result i32) |
| (local $x i32) |
| (drop |
| (call $spill-call-call0 |
| (return |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (i32.const 0) |
| ) |
| (func $spill-ret-call (param $p i32) (result i32) |
| (local $x i32) |
| (drop |
| (return |
| (call $spill-call-call0 |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (i32.const 0) |
| ) |
| (func $spill-ret-ret (result i32) |
| (local $x i32) |
| (local $1 i32) |
| (local $2 i32) |
| (local $3 i32) |
| (local.set $1 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $1) |
| (i32.const 16) |
| ) |
| ) |
| (local.set $3 |
| (block (result i32) |
| (block |
| (i32.store |
| (local.get $1) |
| (local.get $x) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| (drop |
| (block |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (return |
| (block |
| (local.set $2 |
| (i32.const 1) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (return |
| (local.get $2) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (i32.const 0) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (local.get $3) |
| ) |
| (func $spill-call-othertype (param $y f64) |
| (local $x i32) |
| (local $2 i32) |
| (local $3 f64) |
| (local.set $2 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $2) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (block |
| (local.set $3 |
| (f64.const 1) |
| ) |
| (i32.store |
| (local.get $2) |
| (local.get $x) |
| ) |
| (call $spill-call-othertype |
| (local.get $3) |
| ) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $2) |
| ) |
| ) |
| (func $spill-call_indirect |
| (local $x i32) |
| (local $1 i32) |
| (local $2 i32) |
| (local $3 i32) |
| (local $4 i32) |
| (local.set $1 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $1) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (block |
| (local.set $2 |
| (i32.const 123) |
| ) |
| (local.set $3 |
| (i32.const 456) |
| ) |
| (local.set $4 |
| (i32.const 789) |
| ) |
| (i32.store |
| (local.get $1) |
| (local.get $x) |
| ) |
| (call_indirect (type $ii) |
| (local.get $2) |
| (local.get $3) |
| (local.get $4) |
| ) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| ) |
| (func $spill-call_import |
| (local $x i32) |
| (local $1 i32) |
| (local $2 i32) |
| (local.set $1 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $1) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (block |
| (local.set $2 |
| (i32.const 200) |
| ) |
| (i32.store |
| (local.get $1) |
| (local.get $x) |
| ) |
| (call $segfault |
| (local.get $2) |
| ) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| ) |
| ) |
| (module |
| (type $none_=>_none (func)) |
| (type $none_=>_i32 (func (result i32))) |
| (type $i32_=>_i32 (func (param i32) (result i32))) |
| (type $ii (func (param i32 i32))) |
| (type $i32_=>_none (func (param i32))) |
| (type $f64_=>_none (func (param f64))) |
| (import "env" "segfault" (func $segfault (param i32))) |
| (global $stack_ptr (mut i32) (i32.const 1716592)) |
| (memory $0 10) |
| (table $0 1 1 funcref) |
| (elem (i32.const 0)) |
| (export "stackSave" (func $stack_save)) |
| (func $stack_save (result i32) |
| (global.get $stack_ptr) |
| ) |
| (func $nothing |
| (nop) |
| ) |
| (func $not-alive |
| (local $x i32) |
| (local.set $x |
| (i32.const 1) |
| ) |
| (call $nothing) |
| ) |
| (func $spill |
| (local $x i32) |
| (local $1 i32) |
| (local.set $1 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $1) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (block |
| (i32.store |
| (local.get $1) |
| (local.get $x) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| ) |
| (func $ignore-non-pointers |
| (local $x i32) |
| (local $y i64) |
| (local $z f32) |
| (local $w f64) |
| (local $4 i32) |
| (local.set $4 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $4) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (local.set $x |
| (i32.const 1) |
| ) |
| (local.set $y |
| (i64.const 1) |
| ) |
| (local.set $z |
| (f32.const 1) |
| ) |
| (local.set $w |
| (f64.const 1) |
| ) |
| (block |
| (i32.store |
| (local.get $4) |
| (local.get $x) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| (drop |
| (local.get $y) |
| ) |
| (drop |
| (local.get $z) |
| ) |
| (drop |
| (local.get $w) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $4) |
| ) |
| ) |
| (func $spill4 |
| (local $x i32) |
| (local $y i32) |
| (local $z i32) |
| (local $w i32) |
| (local $4 i32) |
| (local.set $4 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $4) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (local.set $x |
| (i32.const 1) |
| ) |
| (local.set $y |
| (i32.const 1) |
| ) |
| (local.set $z |
| (i32.const 1) |
| ) |
| (local.set $w |
| (i32.const 1) |
| ) |
| (block |
| (i32.store |
| (local.get $4) |
| (local.get $x) |
| ) |
| (i32.store offset=4 |
| (local.get $4) |
| (local.get $y) |
| ) |
| (i32.store offset=8 |
| (local.get $4) |
| (local.get $z) |
| ) |
| (i32.store offset=12 |
| (local.get $4) |
| (local.get $w) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| (drop |
| (local.get $y) |
| ) |
| (drop |
| (local.get $z) |
| ) |
| (drop |
| (local.get $w) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $4) |
| ) |
| ) |
| (func $spill5 |
| (local $x i32) |
| (local $y i32) |
| (local $z i32) |
| (local $w i32) |
| (local $a i32) |
| (local $5 i32) |
| (local.set $5 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $5) |
| (i32.const 32) |
| ) |
| ) |
| (block |
| (local.set $x |
| (i32.const 1) |
| ) |
| (local.set $y |
| (i32.const 1) |
| ) |
| (local.set $z |
| (i32.const 1) |
| ) |
| (local.set $w |
| (i32.const 1) |
| ) |
| (local.set $a |
| (i32.const 1) |
| ) |
| (block |
| (i32.store |
| (local.get $5) |
| (local.get $x) |
| ) |
| (i32.store offset=4 |
| (local.get $5) |
| (local.get $y) |
| ) |
| (i32.store offset=8 |
| (local.get $5) |
| (local.get $z) |
| ) |
| (i32.store offset=12 |
| (local.get $5) |
| (local.get $w) |
| ) |
| (i32.store offset=16 |
| (local.get $5) |
| (local.get $a) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| (drop |
| (local.get $y) |
| ) |
| (drop |
| (local.get $z) |
| ) |
| (drop |
| (local.get $w) |
| ) |
| (drop |
| (local.get $a) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $5) |
| ) |
| ) |
| (func $some-alive |
| (local $x i32) |
| (local $y i32) |
| (local $2 i32) |
| (local.set $2 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $2) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (block |
| (i32.store |
| (local.get $2) |
| (local.get $x) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $2) |
| ) |
| ) |
| (func $spill-args (param $p i32) (param $q i32) |
| (local $x i32) |
| (local $3 i32) |
| (local $4 i32) |
| (local $5 i32) |
| (local.set $3 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $3) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (block |
| (local.set $4 |
| (i32.const 1) |
| ) |
| (local.set $5 |
| (i32.const 2) |
| ) |
| (i32.store offset=8 |
| (local.get $3) |
| (local.get $x) |
| ) |
| (call $spill-args |
| (local.get $4) |
| (local.get $5) |
| ) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $3) |
| ) |
| ) |
| (func $spill-ret (result i32) |
| (local $x i32) |
| (local $1 i32) |
| (local $2 i32) |
| (local $3 i32) |
| (local $4 i32) |
| (local.set $1 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $1) |
| (i32.const 16) |
| ) |
| ) |
| (local.set $4 |
| (block (result i32) |
| (block |
| (i32.store |
| (local.get $1) |
| (local.get $x) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| (if |
| (i32.const 1) |
| (block |
| (local.set $2 |
| (i32.const 2) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (return |
| (local.get $2) |
| ) |
| ) |
| (block |
| (local.set $3 |
| (i32.const 3) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (return |
| (local.get $3) |
| ) |
| ) |
| ) |
| (i32.const 4) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (local.get $4) |
| ) |
| (func $spill-unreachable (result i32) |
| (local $x i32) |
| (local $1 i32) |
| (local $2 i32) |
| (local.set $1 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $1) |
| (i32.const 16) |
| ) |
| ) |
| (local.set $2 |
| (block (result i32) |
| (block |
| (i32.store |
| (local.get $1) |
| (local.get $x) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| (unreachable) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (local.get $2) |
| ) |
| (func $spill-call-call0 (param $p i32) (result i32) |
| (unreachable) |
| ) |
| (func $spill-call-call1 (param $p i32) (result i32) |
| (local $x i32) |
| (local $2 i32) |
| (local $3 i32) |
| (local $4 i32) |
| (local $5 i32) |
| (local.set $2 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $2) |
| (i32.const 16) |
| ) |
| ) |
| (local.set $5 |
| (block (result i32) |
| (drop |
| (block (result i32) |
| (local.set $3 |
| (block (result i32) |
| (local.set $4 |
| (i32.const 1) |
| ) |
| (i32.store offset=4 |
| (local.get $2) |
| (local.get $x) |
| ) |
| (call $spill-call-call1 |
| (local.get $4) |
| ) |
| ) |
| ) |
| (i32.store offset=4 |
| (local.get $2) |
| (local.get $x) |
| ) |
| (call $spill-call-call0 |
| (local.get $3) |
| ) |
| ) |
| ) |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $2) |
| ) |
| (local.get $5) |
| ) |
| (func $spill-call-ret (param $p i32) (result i32) |
| (local $x i32) |
| (drop |
| (call $spill-call-call0 |
| (return |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (i32.const 0) |
| ) |
| (func $spill-ret-call (param $p i32) (result i32) |
| (local $x i32) |
| (drop |
| (return |
| (call $spill-call-call0 |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (i32.const 0) |
| ) |
| (func $spill-ret-ret (result i32) |
| (local $x i32) |
| (local $1 i32) |
| (local $2 i32) |
| (local $3 i32) |
| (local.set $1 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $1) |
| (i32.const 16) |
| ) |
| ) |
| (local.set $3 |
| (block (result i32) |
| (block |
| (i32.store |
| (local.get $1) |
| (local.get $x) |
| ) |
| (call $nothing) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| (drop |
| (block |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (return |
| (block |
| (local.set $2 |
| (i32.const 1) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (return |
| (local.get $2) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (i32.const 0) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| (local.get $3) |
| ) |
| (func $spill-call-othertype (param $y f64) |
| (local $x i32) |
| (local $2 i32) |
| (local $3 f64) |
| (local.set $2 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $2) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (block |
| (local.set $3 |
| (f64.const 1) |
| ) |
| (i32.store |
| (local.get $2) |
| (local.get $x) |
| ) |
| (call $spill-call-othertype |
| (local.get $3) |
| ) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $2) |
| ) |
| ) |
| (func $spill-call_indirect |
| (local $x i32) |
| (local $1 i32) |
| (local $2 i32) |
| (local $3 i32) |
| (local $4 i32) |
| (local.set $1 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $1) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (block |
| (local.set $2 |
| (i32.const 123) |
| ) |
| (local.set $3 |
| (i32.const 456) |
| ) |
| (local.set $4 |
| (i32.const 789) |
| ) |
| (i32.store |
| (local.get $1) |
| (local.get $x) |
| ) |
| (call_indirect (type $ii) |
| (local.get $2) |
| (local.get $3) |
| (local.get $4) |
| ) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| ) |
| (func $spill-call_import |
| (local $x i32) |
| (local $1 i32) |
| (local $2 i32) |
| (local.set $1 |
| (global.get $stack_ptr) |
| ) |
| (global.set $stack_ptr |
| (i32.sub |
| (local.get $1) |
| (i32.const 16) |
| ) |
| ) |
| (block |
| (block |
| (local.set $2 |
| (i32.const 200) |
| ) |
| (i32.store |
| (local.get $1) |
| (local.get $x) |
| ) |
| (call $segfault |
| (local.get $2) |
| ) |
| ) |
| (drop |
| (local.get $x) |
| ) |
| ) |
| (global.set $stack_ptr |
| (local.get $1) |
| ) |
| ) |
| ) |