| (module |
| (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) |
| (type $i64_i64_=>_i32 (func (param i64 i64) (result i32))) |
| (type $i64_i64_i64_=>_none (func (param i64 i64 i64))) |
| (type $i64_i64_i32_=>_none (func (param i64 i64 i32))) |
| (type $i64_i64_=>_v128 (func (param i64 i64) (result v128))) |
| (type $i64_i64_v128_=>_none (func (param i64 i64 v128))) |
| (type $none_=>_none (func)) |
| (type $i64_i64_=>_f64 (func (param i64 i64) (result f64))) |
| (type $i64_i64_f64_=>_none (func (param i64 i64 f64))) |
| (type $i64_i64_=>_f32 (func (param i64 i64) (result f32))) |
| (type $i64_i64_f32_=>_none (func (param i64 i64 f32))) |
| (type $none_=>_i64 (func (result i64))) |
| (import "env" "emscripten_get_sbrk_ptr" (func $emscripten_get_sbrk_ptr (result i64))) |
| (import "env" "segfault" (func $segfault)) |
| (import "env" "alignfault" (func $alignfault)) |
| (memory $0 (shared i64 100 100)) |
| (func $loads |
| (drop |
| (call $SAFE_HEAP_LOAD_i32_4_4 |
| (i64.const 1) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_i32_4_A |
| (i64.const 1) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_i32_4_4 |
| (i64.const 2) |
| (i64.const 31) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_i32_4_2 |
| (i64.const 3) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_i32_4_1 |
| (i64.const 4) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_i32_1_1 |
| (i64.const 5) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_i32_2_U_2 |
| (i64.const 6) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_i64_1_1 |
| (i64.const 7) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_i64_2_U_2 |
| (i64.const 8) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_i64_4_4 |
| (i64.const 9) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_i64_8_4 |
| (i64.const 10) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_i64_8_8 |
| (i64.const 11) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_f32_4_4 |
| (i64.const 12) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_f64_8_8 |
| (i64.const 13) |
| (i64.const 0) |
| ) |
| ) |
| (drop |
| (call $SAFE_HEAP_LOAD_v128_16_16 |
| (i64.const 14) |
| (i64.const 0) |
| ) |
| ) |
| ) |
| (func $stores |
| (call $SAFE_HEAP_STORE_i32_4_4 |
| (i64.const 1) |
| (i64.const 0) |
| (i32.const 100) |
| ) |
| (call $SAFE_HEAP_STORE_i32_4_A |
| (i64.const 1) |
| (i64.const 0) |
| (i32.const 100) |
| ) |
| (call $SAFE_HEAP_STORE_i32_4_4 |
| (i64.const 2) |
| (i64.const 31) |
| (i32.const 200) |
| ) |
| (call $SAFE_HEAP_STORE_i32_4_2 |
| (i64.const 3) |
| (i64.const 0) |
| (i32.const 300) |
| ) |
| (call $SAFE_HEAP_STORE_i32_4_1 |
| (i64.const 4) |
| (i64.const 0) |
| (i32.const 400) |
| ) |
| (call $SAFE_HEAP_STORE_i32_1_1 |
| (i64.const 5) |
| (i64.const 0) |
| (i32.const 500) |
| ) |
| (call $SAFE_HEAP_STORE_i32_2_2 |
| (i64.const 6) |
| (i64.const 0) |
| (i32.const 600) |
| ) |
| (call $SAFE_HEAP_STORE_i64_1_1 |
| (i64.const 7) |
| (i64.const 0) |
| (i64.const 700) |
| ) |
| (call $SAFE_HEAP_STORE_i64_2_2 |
| (i64.const 8) |
| (i64.const 0) |
| (i64.const 800) |
| ) |
| (call $SAFE_HEAP_STORE_i64_4_4 |
| (i64.const 9) |
| (i64.const 0) |
| (i64.const 900) |
| ) |
| (call $SAFE_HEAP_STORE_i64_8_4 |
| (i64.const 10) |
| (i64.const 0) |
| (i64.const 1000) |
| ) |
| (call $SAFE_HEAP_STORE_i64_8_8 |
| (i64.const 11) |
| (i64.const 0) |
| (i64.const 1100) |
| ) |
| (call $SAFE_HEAP_STORE_f32_4_4 |
| (i64.const 12) |
| (i64.const 0) |
| (f32.const 1200) |
| ) |
| (call $SAFE_HEAP_STORE_f64_8_8 |
| (i64.const 13) |
| (i64.const 0) |
| (f64.const 1300) |
| ) |
| (call $SAFE_HEAP_STORE_v128_16_16 |
| (i64.const 14) |
| (i64.const 0) |
| (v128.const i32x4 0x00000001 0x00000002 0x00000003 0x00000004) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_1_A (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.shr_s |
| (i32.shl |
| (i32.atomic.load8_u |
| (local.get $2) |
| ) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_1_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load8_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_1_U_A (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.atomic.load8_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_1_U_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load8_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load16_s align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_A (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.shr_s |
| (i32.shl |
| (i32.atomic.load16_u |
| (local.get $2) |
| ) |
| (i32.const 16) |
| ) |
| (i32.const 16) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_2 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.load16_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_U_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load16_u align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_U_A (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.atomic.load16_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_U_2 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.load16_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_4_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_4_2 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_4_A (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i32.atomic.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_4_4 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i32.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_1_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.shr_s |
| (i64.shl |
| (i64.atomic.load8_u |
| (local.get $2) |
| ) |
| (i64.const 56) |
| ) |
| (i64.const 56) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_1_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load8_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_1_U_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.atomic.load8_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_1_U_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load8_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load16_s align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.shr_s |
| (i64.shl |
| (i64.atomic.load16_u |
| (local.get $2) |
| ) |
| (i64.const 48) |
| ) |
| (i64.const 48) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load16_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_U_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load16_u align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_U_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.atomic.load16_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_U_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load16_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load32_s align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load32_s align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.shr_s |
| (i64.shl |
| (i64.atomic.load32_u |
| (local.get $2) |
| ) |
| (i64.const 32) |
| ) |
| (i64.const 32) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_4 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load32_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_U_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load32_u align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_U_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load32_u align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_U_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.atomic.load32_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_U_4 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load32_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_4 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load align=4 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (i64.atomic.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_8 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f32_4_1 (param $0 i64) (param $1 i64) (result f32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (f32.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f32_4_2 (param $0 i64) (param $1 i64) (result f32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (f32.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f32_4_4 (param $0 i64) (param $1 i64) (result f32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (f32.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f64_8_1 (param $0 i64) (param $1 i64) (result f64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (f64.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f64_8_2 (param $0 i64) (param $1 i64) (result f64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (f64.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f64_8_4 (param $0 i64) (param $1 i64) (result f64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (f64.load align=4 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f64_8_8 (param $0 i64) (param $1 i64) (result f64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (f64.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_1 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (v128.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_2 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (v128.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_4 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (v128.load align=4 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_8 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (v128.load align=8 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_16 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 15) |
| ) |
| (call $alignfault) |
| ) |
| (v128.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_1_A (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.atomic.store8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_1_1 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.store8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_2_1 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.store16 align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_2_A (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.atomic.store16 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_2_2 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.store16 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_4_1 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_4_2 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_4_A (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i32.atomic.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_4_4 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i32.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_1_A (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.atomic.store8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_1_1 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.store8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_2_1 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.store16 align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_2_A (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.atomic.store16 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_2_2 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store16 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_4_1 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.store32 align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_4_2 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store32 align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_4_A (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.atomic.store32 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_4_4 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store32 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_1 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_2 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_4 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store align=4 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_A (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (i64.atomic.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_8 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f32_4_1 (param $0 i64) (param $1 i64) (param $2 f32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (f32.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f32_4_2 (param $0 i64) (param $1 i64) (param $2 f32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (f32.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f32_4_4 (param $0 i64) (param $1 i64) (param $2 f32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (f32.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f64_8_1 (param $0 i64) (param $1 i64) (param $2 f64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (f64.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f64_8_2 (param $0 i64) (param $1 i64) (param $2 f64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (f64.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f64_8_4 (param $0 i64) (param $1 i64) (param $2 f64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (f64.store align=4 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f64_8_8 (param $0 i64) (param $1 i64) (param $2 f64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (f64.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_1 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (v128.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_2 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (v128.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_4 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (v128.store align=4 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_8 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (v128.store align=8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_16 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 15) |
| ) |
| (call $alignfault) |
| ) |
| (v128.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| ) |
| (module |
| (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) |
| (type $i64_i64_i64_=>_none (func (param i64 i64 i64))) |
| (type $i64_i64_=>_i32 (func (param i64 i64) (result i32))) |
| (type $i64_i64_i32_=>_none (func (param i64 i64 i32))) |
| (type $i64_i64_=>_v128 (func (param i64 i64) (result v128))) |
| (type $i64_i64_v128_=>_none (func (param i64 i64 v128))) |
| (type $i64_i64_=>_f64 (func (param i64 i64) (result f64))) |
| (type $i64_i64_f64_=>_none (func (param i64 i64 f64))) |
| (type $none_=>_none (func)) |
| (type $i64_i64_=>_f32 (func (param i64 i64) (result f32))) |
| (type $i64_i64_f32_=>_none (func (param i64 i64 f32))) |
| (type $none_=>_i64 (func (result i64))) |
| (import "env" "emscripten_get_sbrk_ptr" (func $emscripten_get_sbrk_ptr (result i64))) |
| (import "env" "segfault" (func $segfault)) |
| (import "env" "alignfault" (func $alignfault)) |
| (memory $0 i64 100 100) |
| (func $loads |
| (drop |
| (call $SAFE_HEAP_LOAD_i32_4_4 |
| (i64.const 1) |
| (i64.const 0) |
| ) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_1_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load8_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_1_U_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load8_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load16_s align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_2 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.load16_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_U_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load16_u align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_U_2 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.load16_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_4_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_4_2 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_4_4 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i32.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_1_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load8_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_1_U_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load8_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load16_s align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load16_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_U_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load16_u align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_U_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load16_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load32_s align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load32_s align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_4 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load32_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_U_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load32_u align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_U_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load32_u align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_U_4 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load32_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_4 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load align=4 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_8 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f32_4_1 (param $0 i64) (param $1 i64) (result f32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (f32.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f32_4_2 (param $0 i64) (param $1 i64) (result f32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (f32.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f32_4_4 (param $0 i64) (param $1 i64) (result f32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (f32.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f64_8_1 (param $0 i64) (param $1 i64) (result f64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (f64.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f64_8_2 (param $0 i64) (param $1 i64) (result f64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (f64.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f64_8_4 (param $0 i64) (param $1 i64) (result f64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (f64.load align=4 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f64_8_8 (param $0 i64) (param $1 i64) (result f64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (f64.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_1 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (v128.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_2 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (v128.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_4 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (v128.load align=4 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_8 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (v128.load align=8 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_16 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 15) |
| ) |
| (call $alignfault) |
| ) |
| (v128.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_1_1 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.store8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_2_1 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.store16 align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_2_2 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.store16 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_4_1 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_4_2 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_4_4 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i32.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_1_1 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.store8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_2_1 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.store16 align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_2_2 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store16 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_4_1 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.store32 align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_4_2 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store32 align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_4_4 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store32 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_1 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_2 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_4 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store align=4 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_8 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f32_4_1 (param $0 i64) (param $1 i64) (param $2 f32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (f32.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f32_4_2 (param $0 i64) (param $1 i64) (param $2 f32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (f32.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f32_4_4 (param $0 i64) (param $1 i64) (param $2 f32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (f32.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f64_8_1 (param $0 i64) (param $1 i64) (param $2 f64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (f64.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f64_8_2 (param $0 i64) (param $1 i64) (param $2 f64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (f64.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f64_8_4 (param $0 i64) (param $1 i64) (param $2 f64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (f64.store align=4 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f64_8_8 (param $0 i64) (param $1 i64) (param $2 f64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (f64.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_1 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (v128.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_2 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (v128.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_4 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (v128.store align=4 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_8 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (v128.store align=8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_16 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $emscripten_get_sbrk_ptr) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 15) |
| ) |
| (call $alignfault) |
| ) |
| (v128.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| ) |
| (module |
| (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) |
| (type $i64_i64_=>_i32 (func (param i64 i64) (result i32))) |
| (type $i64_i64_i64_=>_none (func (param i64 i64 i64))) |
| (type $i64_i64_i32_=>_none (func (param i64 i64 i32))) |
| (type $i64_i64_=>_v128 (func (param i64 i64) (result v128))) |
| (type $i64_i64_v128_=>_none (func (param i64 i64 v128))) |
| (type $i64_i64_=>_f64 (func (param i64 i64) (result f64))) |
| (type $i64_i64_f64_=>_none (func (param i64 i64 f64))) |
| (type $FUNCSIG$v (func)) |
| (type $i64_i64_=>_f32 (func (param i64 i64) (result f32))) |
| (type $i64_i64_f32_=>_none (func (param i64 i64 f32))) |
| (type $none_=>_i64 (func (result i64))) |
| (import "env" "emscripten_get_sbrk_ptr" (func $foo (result i64))) |
| (import "env" "segfault" (func $segfault)) |
| (import "env" "alignfault" (func $alignfault)) |
| (memory $0 (shared i64 100 100)) |
| (func $actions |
| (drop |
| (call $SAFE_HEAP_LOAD_i32_4_4 |
| (i64.const 1) |
| (i64.const 0) |
| ) |
| ) |
| (call $SAFE_HEAP_STORE_i32_4_4 |
| (i64.const 1) |
| (i64.const 0) |
| (i32.const 100) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_1_A (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.shr_s |
| (i32.shl |
| (i32.atomic.load8_u |
| (local.get $2) |
| ) |
| (i32.const 24) |
| ) |
| (i32.const 24) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_1_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load8_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_1_U_A (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.atomic.load8_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_1_U_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load8_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load16_s align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_A (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.shr_s |
| (i32.shl |
| (i32.atomic.load16_u |
| (local.get $2) |
| ) |
| (i32.const 16) |
| ) |
| (i32.const 16) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_2 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.load16_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_U_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load16_u align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_U_A (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.atomic.load16_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_2_U_2 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.load16_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_4_1 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_4_2 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_4_A (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i32.atomic.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i32_4_4 (param $0 i64) (param $1 i64) (result i32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i32.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_1_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.shr_s |
| (i64.shl |
| (i64.atomic.load8_u |
| (local.get $2) |
| ) |
| (i64.const 56) |
| ) |
| (i64.const 56) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_1_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load8_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_1_U_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.atomic.load8_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_1_U_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load8_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load16_s align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.shr_s |
| (i64.shl |
| (i64.atomic.load16_u |
| (local.get $2) |
| ) |
| (i64.const 48) |
| ) |
| (i64.const 48) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load16_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_U_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load16_u align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_U_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.atomic.load16_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_2_U_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load16_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load32_s align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load32_s align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.shr_s |
| (i64.shl |
| (i64.atomic.load32_u |
| (local.get $2) |
| ) |
| (i64.const 32) |
| ) |
| (i64.const 32) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_4 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load32_s |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_U_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load32_u align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_U_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load32_u align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_U_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.atomic.load32_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_4_U_4 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load32_u |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_1 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_2 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_4 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load align=4 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_A (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (i64.atomic.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_i64_8_8 (param $0 i64) (param $1 i64) (result i64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (i64.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f32_4_1 (param $0 i64) (param $1 i64) (result f32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (f32.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f32_4_2 (param $0 i64) (param $1 i64) (result f32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (f32.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f32_4_4 (param $0 i64) (param $1 i64) (result f32) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (f32.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f64_8_1 (param $0 i64) (param $1 i64) (result f64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (f64.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f64_8_2 (param $0 i64) (param $1 i64) (result f64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (f64.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f64_8_4 (param $0 i64) (param $1 i64) (result f64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (f64.load align=4 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_f64_8_8 (param $0 i64) (param $1 i64) (result f64) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (f64.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_1 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (v128.load align=1 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_2 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (v128.load align=2 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_4 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (v128.load align=4 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_8 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (v128.load align=8 |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_LOAD_v128_16_16 (param $0 i64) (param $1 i64) (result v128) |
| (local $2 i64) |
| (local.set $2 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $2) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $2) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $2) |
| ) |
| (i32.const 15) |
| ) |
| (call $alignfault) |
| ) |
| (v128.load |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_1_A (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.atomic.store8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_1_1 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.store8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_2_1 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.store16 align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_2_A (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.atomic.store16 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_2_2 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.store16 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_4_1 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i32.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_4_2 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i32.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_4_A (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i32.atomic.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i32_4_4 (param $0 i64) (param $1 i64) (param $2 i32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i32.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_1_A (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.atomic.store8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_1_1 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 1) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.store8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_2_1 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.store16 align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_2_A (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.atomic.store16 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_2_2 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 2) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store16 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_4_1 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.store32 align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_4_2 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store32 align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_4_A (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.atomic.store32 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_4_4 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store32 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_1 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (i64.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_2 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_4 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store align=4 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_A (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (i64.atomic.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_i64_8_8 (param $0 i64) (param $1 i64) (param $2 i64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (i64.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f32_4_1 (param $0 i64) (param $1 i64) (param $2 f32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (f32.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f32_4_2 (param $0 i64) (param $1 i64) (param $2 f32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (f32.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f32_4_4 (param $0 i64) (param $1 i64) (param $2 f32) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 4) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (f32.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f64_8_1 (param $0 i64) (param $1 i64) (param $2 f64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (f64.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f64_8_2 (param $0 i64) (param $1 i64) (param $2 f64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (f64.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f64_8_4 (param $0 i64) (param $1 i64) (param $2 f64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (f64.store align=4 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_f64_8_8 (param $0 i64) (param $1 i64) (param $2 f64) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 8) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (f64.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_1 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (v128.store align=1 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_2 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 1) |
| ) |
| (call $alignfault) |
| ) |
| (v128.store align=2 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_4 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 3) |
| ) |
| (call $alignfault) |
| ) |
| (v128.store align=4 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_8 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 7) |
| ) |
| (call $alignfault) |
| ) |
| (v128.store align=8 |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| (func $SAFE_HEAP_STORE_v128_16_16 (param $0 i64) (param $1 i64) (param $2 v128) |
| (local $3 i64) |
| (local.set $3 |
| (i64.add |
| (local.get $0) |
| (local.get $1) |
| ) |
| ) |
| (if |
| (i32.or |
| (i64.eq |
| (local.get $3) |
| (i64.const 0) |
| ) |
| (i64.gt_u |
| (i64.add |
| (local.get $3) |
| (i64.const 16) |
| ) |
| (i64.load |
| (call $foo) |
| ) |
| ) |
| ) |
| (call $segfault) |
| ) |
| (if |
| (i32.and |
| (i32.wrap_i64 |
| (local.get $3) |
| ) |
| (i32.const 15) |
| ) |
| (call $alignfault) |
| ) |
| (v128.store |
| (local.get $3) |
| (local.get $2) |
| ) |
| ) |
| ) |