diff options
-rw-r--r-- | scripts/fuzz_opt.py | 18 | ||||
-rw-r--r-- | src/ir/ExpressionManipulator.cpp | 3 | ||||
-rw-r--r-- | src/passes/SafeHeap.cpp | 11 | ||||
-rw-r--r-- | src/tools/wasm-reduce.cpp | 6 | ||||
-rw-r--r-- | test/passes/safe-heap.txt | 1829 | ||||
-rw-r--r-- | test/passes/safe-heap_disable-simd.txt | 337 | ||||
-rw-r--r-- | test/passes/safe-heap_low-memory-unused.txt | 1829 |
7 files changed, 488 insertions, 3545 deletions
diff --git a/scripts/fuzz_opt.py b/scripts/fuzz_opt.py index d3d2ea6e2..1cb561289 100644 --- a/scripts/fuzz_opt.py +++ b/scripts/fuzz_opt.py @@ -28,9 +28,21 @@ from test.shared import options NANS = True -FUZZ_OPTS = ['--mvp-features'] +FUZZ_OPTS = ['--all-features', '--disable-simd', '--disable-bulk-memory'] + +V8_OPTS = [ + '--experimental-wasm-eh', + '--experimental-wasm-mv', + '--experimental-wasm-sat-f2i-conversions', + '--experimental-wasm-se', + '--experimental-wasm-threads', + '--experimental-wasm-simd', + '--experimental-wasm-anyref', + '--experimental-wasm-bulk-memory', + '--experimental-wasm-return-call' +] -INPUT_SIZE_LIMIT = 250 * 1024 +INPUT_SIZE_LIMIT = 150 * 1024 LOG_LIMIT = 125 @@ -126,7 +138,7 @@ def run_vms(prefix): results = [] # append to this list to add results from VMs results += [fix_output(run_vm([in_bin('wasm-opt'), prefix + 'wasm', '--fuzz-exec-before']))] - results += [fix_output(run_vm([os.path.expanduser('d8'), prefix + 'js', '--', prefix + 'wasm']))] + results += [fix_output(run_vm([os.path.expanduser('d8'), prefix + 'js'] + V8_OPTS + ['--', prefix + 'wasm']))] # results += [fix_output(run_vm([os.path.expanduser('~/.jsvu/jsc'), prefix + 'js', '--', prefix + 'wasm']))] # spec has no mechanism to not halt on a trap. so we just check until the first trap, basically # run(['../spec/interpreter/wasm', prefix + 'wasm']) diff --git a/src/ir/ExpressionManipulator.cpp b/src/ir/ExpressionManipulator.cpp index 578d35e3f..2b648e077 100644 --- a/src/ir/ExpressionManipulator.cpp +++ b/src/ir/ExpressionManipulator.cpp @@ -14,6 +14,7 @@ * limitations under the License. */ +#include "ir/load-utils.h" #include "ir/utils.h" #include "support/hash.h" @@ -91,7 +92,7 @@ Expression* flexibleCopy(Expression* original, Module& wasm, CustomCopier custom return builder.makeAtomicLoad(curr->bytes, curr->offset, copy(curr->ptr), curr->type); } - return builder.makeLoad(curr->bytes, curr->signed_, curr->offset, curr->align, copy(curr->ptr), curr->type); + return builder.makeLoad(curr->bytes, LoadUtils::isSignRelevant(curr) ? curr->signed_ : false, curr->offset, curr->align, copy(curr->ptr), curr->type); } Expression* visitStore(Store *curr) { if (curr->isAtomic) { diff --git a/src/passes/SafeHeap.cpp b/src/passes/SafeHeap.cpp index 3cc1021ed..852af0c16 100644 --- a/src/passes/SafeHeap.cpp +++ b/src/passes/SafeHeap.cpp @@ -28,6 +28,7 @@ #include "ir/bits.h" #include "ir/function-type-utils.h" #include "ir/import-utils.h" +#include "ir/load-utils.h" namespace wasm { @@ -39,7 +40,7 @@ static Name getLoadName(Load* curr) { std::string ret = "SAFE_HEAP_LOAD_"; ret += printType(curr->type); ret += "_" + std::to_string(curr->bytes) + "_"; - if (!isFloatType(curr->type) && !curr->signed_) { + if (LoadUtils::isSignRelevant(curr) && !curr->signed_) { ret += "U_"; } if (curr->isAtomic) { @@ -219,8 +220,10 @@ struct SafeHeap : public Pass { // creates a function for a particular style of load void addLoadFunc(Load style, Module* module) { + auto name = getLoadName(&style); + if (module->getFunctionOrNull(name)) return; auto* func = new Function; - func->name = getLoadName(&style); + func->name = name; func->params.push_back(i32); // pointer func->params.push_back(i32); // offset func->vars.push_back(i32); // pointer + offset @@ -265,8 +268,10 @@ struct SafeHeap : public Pass { // creates a function for a particular type of store void addStoreFunc(Store style, Module* module) { + auto name = getStoreName(&style); + if (module->getFunctionOrNull(name)) return; auto* func = new Function; - func->name = getStoreName(&style); + func->name = name; func->params.push_back(i32); // pointer func->params.push_back(i32); // offset func->params.push_back(style.valueType); // value diff --git a/src/tools/wasm-reduce.cpp b/src/tools/wasm-reduce.cpp index bd5a0c1b8..36a44b056 100644 --- a/src/tools/wasm-reduce.cpp +++ b/src/tools/wasm-reduce.cpp @@ -508,7 +508,11 @@ struct Reducer : public WalkerPass<PostWalker<Reducer, UnifiedExpressionVisitor< } // Finally, try to replace with a child. for (auto* child : ChildIterator(curr)) { - if (tryToReplaceCurrent(child)) return; + if (isConcreteType(child->type) && curr->type == none) { + if (tryToReplaceCurrent(builder->makeDrop(child))) return; + } else { + if (tryToReplaceCurrent(child)) return; + } } // If that didn't work, try to replace with a child + a unary conversion if (isConcreteType(curr->type) && diff --git a/test/passes/safe-heap.txt b/test/passes/safe-heap.txt index 98f185fe4..1f9640ce2 100644 --- a/test/passes/safe-heap.txt +++ b/test/passes/safe-heap.txt @@ -7,31 +7,31 @@ (memory $0 (shared 100 100)) (func $loads (; 2 ;) (type $0) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_4 + (call $SAFE_HEAP_LOAD_i32_4_4 (i32.const 1) (i32.const 0) ) ) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_A + (call $SAFE_HEAP_LOAD_i32_4_A (i32.const 1) (i32.const 0) ) ) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_4 + (call $SAFE_HEAP_LOAD_i32_4_4 (i32.const 2) (i32.const 31) ) ) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_2 + (call $SAFE_HEAP_LOAD_i32_4_2 (i32.const 3) (i32.const 0) ) ) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_1 + (call $SAFE_HEAP_LOAD_i32_4_1 (i32.const 4) (i32.const 0) ) @@ -67,13 +67,13 @@ ) ) (drop - (call $SAFE_HEAP_LOAD_i64_8_U_4 + (call $SAFE_HEAP_LOAD_i64_8_4 (i32.const 10) (i32.const 0) ) ) (drop - (call $SAFE_HEAP_LOAD_i64_8_U_8 + (call $SAFE_HEAP_LOAD_i64_8_8 (i32.const 11) (i32.const 0) ) @@ -91,7 +91,7 @@ ) ) (drop - (call $SAFE_HEAP_LOAD_v128_16_U_16 + (call $SAFE_HEAP_LOAD_v128_16_16 (i32.const 14) (i32.const 0) ) @@ -655,148 +655,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i32_4_U_1 (; 18 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i32.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_2 (; 19 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i32.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_A (; 20 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i32.atomic.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_4 (; 21 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i32.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_1_A (; 22 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_A (; 18 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -832,7 +691,7 @@ (i64.const 56) ) ) - (func $SAFE_HEAP_LOAD_i64_1_1 (; 23 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_1 (; 19 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -862,7 +721,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_1_U_A (; 24 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_U_A (; 20 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -892,7 +751,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 21 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -922,7 +781,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_1 (; 26 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_1 (; 22 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -952,7 +811,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_A (; 27 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_A (; 23 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -995,7 +854,7 @@ (i64.const 48) ) ) - (func $SAFE_HEAP_LOAD_i64_2_2 (; 28 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_2 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1032,7 +891,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 29 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1062,7 +921,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_A (; 30 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_A (; 26 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1099,7 +958,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 31 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 27 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1136,7 +995,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_1 (; 32 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_1 (; 28 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1166,7 +1025,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_2 (; 33 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_2 (; 29 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1203,7 +1062,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_A (; 34 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_A (; 30 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1246,7 +1105,7 @@ (i64.const 32) ) ) - (func $SAFE_HEAP_LOAD_i64_4_4 (; 35 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_4 (; 31 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1283,7 +1142,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 36 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 32 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1313,7 +1172,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 37 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 33 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1350,7 +1209,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_A (; 38 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_A (; 34 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1387,7 +1246,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 39 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 35 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1424,7 +1283,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_1 (; 40 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_1 (; 36 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1454,7 +1313,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_2 (; 41 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_2 (; 37 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1491,7 +1350,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_4 (; 42 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_4 (; 38 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1528,7 +1387,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_A (; 43 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_A (; 39 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1565,7 +1424,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_8 (; 44 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_8 (; 40 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1602,185 +1461,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_1 (; 45 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i64.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_2 (; 46 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i64.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_4 (; 47 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i64.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_A (; 48 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (i64.atomic.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_8 (; 49 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (i64.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_f32_4_1 (; 50 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_1 (; 41 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -1810,7 +1491,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_2 (; 51 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_2 (; 42 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -1847,7 +1528,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_4 (; 52 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_4 (; 43 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -1884,7 +1565,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_1 (; 53 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_1 (; 44 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -1914,7 +1595,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_2 (; 54 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_2 (; 45 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -1951,7 +1632,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_4 (; 55 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_4 (; 46 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -1988,7 +1669,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_8 (; 56 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_8 (; 47 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -2025,7 +1706,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_1 (; 57 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_1 (; 48 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -2055,7 +1736,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_2 (; 58 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_2 (; 49 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -2092,7 +1773,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_4 (; 59 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_4 (; 50 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -2129,7 +1810,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_8 (; 60 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_8 (; 51 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -2166,7 +1847,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_16 (; 61 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_16 (; 52 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -2203,185 +1884,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_1 (; 62 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (v128.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_U_2 (; 63 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (v128.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_U_4 (; 64 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (v128.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_U_8 (; 65 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (v128.load align=8 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_U_16 (; 66 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 15) - ) - (call $alignfault) - ) - (v128.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_STORE_i32_1_A (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_A (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2412,7 +1915,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_1 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_1 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2443,7 +1946,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_1 (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_1 (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2474,7 +1977,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_A (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_A (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2512,7 +2015,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_2 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_2 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2550,7 +2053,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_1 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_1 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2581,7 +2084,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_2 (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_2 (; 59 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2619,7 +2122,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_A (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_A (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2657,7 +2160,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_4 (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_4 (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2695,7 +2198,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_A (; 76 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_A (; 62 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2726,7 +2229,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_1 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_1 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2757,7 +2260,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_1 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_1 (; 64 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2788,7 +2291,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_A (; 79 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_A (; 65 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2826,7 +2329,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_2 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_2 (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2864,7 +2367,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_1 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_1 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2895,7 +2398,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_2 (; 82 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_2 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2933,7 +2436,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_A (; 83 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_A (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2971,7 +2474,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_4 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_4 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -3009,7 +2512,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_1 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_1 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -3040,7 +2543,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_2 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_2 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -3078,7 +2581,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_4 (; 87 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_4 (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -3116,7 +2619,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_A (; 88 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_A (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -3154,7 +2657,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_8 (; 89 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_8 (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -3192,7 +2695,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_1 (; 90 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_1 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -3223,7 +2726,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_2 (; 91 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_2 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -3261,7 +2764,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_4 (; 92 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_4 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -3299,7 +2802,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_1 (; 93 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_1 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -3330,7 +2833,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_2 (; 94 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_2 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -3368,7 +2871,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_4 (; 95 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_4 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -3406,7 +2909,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_8 (; 96 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_8 (; 82 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -3444,7 +2947,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_1 (; 97 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_1 (; 83 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -3475,7 +2978,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_2 (; 98 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_2 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -3513,7 +3016,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_4 (; 99 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_4 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -3551,7 +3054,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_8 (; 100 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_8 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -3589,7 +3092,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_16 (; 101 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_16 (; 87 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -3637,7 +3140,7 @@ (memory $0 100 100) (func $loads (; 2 ;) (type $0) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_4 + (call $SAFE_HEAP_LOAD_i32_4_4 (i32.const 1) (i32.const 0) ) @@ -3941,111 +3444,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i32_4_U_1 (; 12 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i32.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_2 (; 13 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i32.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_4 (; 14 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i32.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_1_1 (; 15 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_1 (; 12 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4075,7 +3474,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 16 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 13 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4105,7 +3504,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_1 (; 17 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_1 (; 14 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4135,7 +3534,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_2 (; 18 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_2 (; 15 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4172,7 +3571,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 19 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 16 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4202,7 +3601,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 20 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 17 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4239,7 +3638,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_1 (; 21 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_1 (; 18 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4269,7 +3668,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_2 (; 22 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_2 (; 19 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4306,7 +3705,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_4 (; 23 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_4 (; 20 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4343,7 +3742,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 21 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4373,7 +3772,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 22 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4410,7 +3809,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 26 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 23 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4447,7 +3846,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_1 (; 27 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_1 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4477,7 +3876,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_2 (; 28 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_2 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4514,7 +3913,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_4 (; 29 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_4 (; 26 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4551,7 +3950,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_8 (; 30 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_8 (; 27 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4588,148 +3987,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_1 (; 31 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i64.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_2 (; 32 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i64.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_4 (; 33 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i64.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_8 (; 34 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (i64.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_f32_4_1 (; 35 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_1 (; 28 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -4759,7 +4017,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_2 (; 36 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_2 (; 29 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -4796,7 +4054,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_4 (; 37 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_4 (; 30 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -4833,7 +4091,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_1 (; 38 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_1 (; 31 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -4863,7 +4121,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_2 (; 39 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_2 (; 32 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -4900,7 +4158,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_4 (; 40 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_4 (; 33 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -4937,7 +4195,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_8 (; 41 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_8 (; 34 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -4974,185 +4232,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_1 (; 42 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (v128.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_2 (; 43 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (v128.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_4 (; 44 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (v128.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_8 (; 45 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (v128.load align=8 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_16 (; 46 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 15) - ) - (call $alignfault) - ) - (v128.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_U_1 (; 47 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_1 (; 35 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -5182,7 +4262,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_2 (; 48 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_2 (; 36 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -5219,7 +4299,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_4 (; 49 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_4 (; 37 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -5256,7 +4336,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_8 (; 50 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_8 (; 38 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -5293,7 +4373,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_16 (; 51 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_16 (; 39 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -5330,7 +4410,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_1 (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_1 (; 40 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -5361,7 +4441,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_1 (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_1 (; 41 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -5392,7 +4472,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_2 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_2 (; 42 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -5430,7 +4510,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_1 (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_1 (; 43 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -5461,7 +4541,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_2 (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_2 (; 44 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -5499,7 +4579,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_4 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_4 (; 45 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -5537,7 +4617,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_1 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_1 (; 46 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5568,7 +4648,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_1 (; 59 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_1 (; 47 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5599,7 +4679,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_2 (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_2 (; 48 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5637,7 +4717,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_1 (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_1 (; 49 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5668,7 +4748,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_2 (; 62 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_2 (; 50 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5706,7 +4786,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_4 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_4 (; 51 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5744,7 +4824,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_1 (; 64 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_1 (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5775,7 +4855,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_2 (; 65 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_2 (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5813,7 +4893,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_4 (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_4 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5851,7 +4931,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_8 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_8 (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5889,7 +4969,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_1 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_1 (; 56 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -5920,7 +5000,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_2 (; 69 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_2 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -5958,7 +5038,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_4 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_4 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -5996,7 +5076,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_1 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_1 (; 59 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -6027,7 +5107,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_2 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_2 (; 60 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -6065,7 +5145,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_4 (; 73 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_4 (; 61 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -6103,7 +5183,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_8 (; 74 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_8 (; 62 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -6141,7 +5221,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_1 (; 75 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_1 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -6172,7 +5252,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_2 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_2 (; 64 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -6210,7 +5290,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_4 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_4 (; 65 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -6248,7 +5328,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_8 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_8 (; 66 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -6286,7 +5366,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_16 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_16 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -6333,7 +5413,7 @@ (memory $0 (shared 100 100)) (func $actions (; 2 ;) (type $FUNCSIG$v) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_4 + (call $SAFE_HEAP_LOAD_i32_4_4 (i32.const 1) (i32.const 0) ) @@ -6825,148 +5905,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i32_4_U_1 (; 17 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i32.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_2 (; 18 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i32.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_A (; 19 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i32.atomic.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_4 (; 20 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i32.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_1_A (; 21 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_A (; 17 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7002,7 +5941,7 @@ (i64.const 56) ) ) - (func $SAFE_HEAP_LOAD_i64_1_1 (; 22 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_1 (; 18 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7032,7 +5971,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_1_U_A (; 23 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_U_A (; 19 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7062,7 +6001,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 20 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7092,7 +6031,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_1 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_1 (; 21 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7122,7 +6061,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_A (; 26 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_A (; 22 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7165,7 +6104,7 @@ (i64.const 48) ) ) - (func $SAFE_HEAP_LOAD_i64_2_2 (; 27 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_2 (; 23 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7202,7 +6141,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 28 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7232,7 +6171,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_A (; 29 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_A (; 25 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7269,7 +6208,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 30 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 26 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7306,7 +6245,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_1 (; 31 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_1 (; 27 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7336,7 +6275,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_2 (; 32 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_2 (; 28 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7373,7 +6312,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_A (; 33 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_A (; 29 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7416,7 +6355,7 @@ (i64.const 32) ) ) - (func $SAFE_HEAP_LOAD_i64_4_4 (; 34 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_4 (; 30 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7453,7 +6392,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 35 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 31 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7483,7 +6422,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 36 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 32 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7520,7 +6459,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_A (; 37 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_A (; 33 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7557,7 +6496,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 38 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 34 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7594,185 +6533,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_1 (; 39 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i64.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_2 (; 40 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i64.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_4 (; 41 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i64.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_A (; 42 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (i64.atomic.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_8 (; 43 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (i64.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_1 (; 44 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_1 (; 35 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7802,7 +6563,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_2 (; 45 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_2 (; 36 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7839,7 +6600,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_4 (; 46 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_4 (; 37 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7876,7 +6637,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_A (; 47 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_A (; 38 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7913,7 +6674,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_8 (; 48 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_8 (; 39 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7950,7 +6711,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_1 (; 49 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_1 (; 40 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -7980,7 +6741,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_2 (; 50 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_2 (; 41 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -8017,7 +6778,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_4 (; 51 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_4 (; 42 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -8054,7 +6815,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_1 (; 52 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_1 (; 43 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -8084,7 +6845,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_2 (; 53 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_2 (; 44 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -8121,7 +6882,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_4 (; 54 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_4 (; 45 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -8158,7 +6919,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_8 (; 55 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_8 (; 46 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -8195,185 +6956,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_1 (; 56 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (v128.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_2 (; 57 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (v128.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_4 (; 58 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (v128.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_8 (; 59 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (v128.load align=8 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_16 (; 60 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 15) - ) - (call $alignfault) - ) - (v128.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_U_1 (; 61 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_1 (; 47 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -8403,7 +6986,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_2 (; 62 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_2 (; 48 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -8440,7 +7023,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_4 (; 63 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_4 (; 49 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -8477,7 +7060,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_8 (; 64 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_8 (; 50 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -8514,7 +7097,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_16 (; 65 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_16 (; 51 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -8551,7 +7134,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_A (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_A (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8582,7 +7165,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_1 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_1 (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8613,7 +7196,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_1 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_1 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8644,7 +7227,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_A (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_A (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8682,7 +7265,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_2 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_2 (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8720,7 +7303,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_1 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_1 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8751,7 +7334,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_2 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_2 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8789,7 +7372,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_A (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_A (; 59 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8827,7 +7410,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_4 (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_4 (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8865,7 +7448,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_A (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_A (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -8896,7 +7479,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_1 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_1 (; 62 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -8927,7 +7510,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_1 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_1 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -8958,7 +7541,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_A (; 78 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_A (; 64 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -8996,7 +7579,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_2 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_2 (; 65 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9034,7 +7617,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_1 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_1 (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9065,7 +7648,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_2 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_2 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9103,7 +7686,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_A (; 82 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_A (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9141,7 +7724,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_4 (; 83 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_4 (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9179,7 +7762,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_1 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_1 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9210,7 +7793,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_2 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_2 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9248,7 +7831,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_4 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_4 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9286,7 +7869,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_A (; 87 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_A (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9324,7 +7907,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_8 (; 88 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_8 (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9362,7 +7945,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_1 (; 89 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_1 (; 75 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -9393,7 +7976,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_2 (; 90 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_2 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -9431,7 +8014,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_4 (; 91 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_4 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -9469,7 +8052,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_1 (; 92 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_1 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -9500,7 +8083,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_2 (; 93 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_2 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -9538,7 +8121,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_4 (; 94 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_4 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -9576,7 +8159,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_8 (; 95 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_8 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -9614,7 +8197,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_1 (; 96 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_1 (; 82 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -9645,7 +8228,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_2 (; 97 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_2 (; 83 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -9683,7 +8266,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_4 (; 98 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_4 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -9721,7 +8304,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_8 (; 99 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_8 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -9759,7 +8342,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_16 (; 100 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_16 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add diff --git a/test/passes/safe-heap_disable-simd.txt b/test/passes/safe-heap_disable-simd.txt index d2a109c0d..5d2ff75bc 100644 --- a/test/passes/safe-heap_disable-simd.txt +++ b/test/passes/safe-heap_disable-simd.txt @@ -302,111 +302,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i32_4_U_1 (; 11 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i32.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_2 (; 12 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i32.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_4 (; 13 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i32.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_1_1 (; 14 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_1 (; 11 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -436,7 +332,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 15 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 12 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -466,7 +362,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_1 (; 16 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_1 (; 13 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -496,7 +392,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_2 (; 17 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_2 (; 14 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -533,7 +429,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 18 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 15 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -563,7 +459,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 19 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 16 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -600,7 +496,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_1 (; 20 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_1 (; 17 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -630,7 +526,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_2 (; 21 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_2 (; 18 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -667,7 +563,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_4 (; 22 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_4 (; 19 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -704,7 +600,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 23 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 20 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -734,7 +630,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 21 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -771,7 +667,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 22 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -808,148 +704,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_1 (; 26 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i64.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_2 (; 27 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i64.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_4 (; 28 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i64.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_8 (; 29 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.eq - (local.get $2) - (i32.const 0) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (i64.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_1 (; 30 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_1 (; 23 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -979,7 +734,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_2 (; 31 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_2 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1016,7 +771,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_4 (; 32 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_4 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1053,7 +808,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_8 (; 33 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_8 (; 26 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1090,7 +845,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_1 (; 34 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_1 (; 27 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -1120,7 +875,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_2 (; 35 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_2 (; 28 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -1157,7 +912,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_4 (; 36 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_4 (; 29 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -1194,7 +949,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_1 (; 37 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_1 (; 30 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -1224,7 +979,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_2 (; 38 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_2 (; 31 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -1261,7 +1016,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_4 (; 39 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_4 (; 32 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -1298,7 +1053,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_8 (; 40 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_8 (; 33 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -1335,7 +1090,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_1 (; 41 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_1 (; 34 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -1366,7 +1121,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_1 (; 42 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_1 (; 35 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -1397,7 +1152,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_2 (; 43 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_2 (; 36 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -1435,7 +1190,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_1 (; 44 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_1 (; 37 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -1466,7 +1221,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_2 (; 45 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_2 (; 38 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -1504,7 +1259,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_4 (; 46 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_4 (; 39 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -1542,7 +1297,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_1 (; 47 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_1 (; 40 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -1573,7 +1328,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_1 (; 48 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_1 (; 41 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -1604,7 +1359,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_2 (; 49 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_2 (; 42 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -1642,7 +1397,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_1 (; 50 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_1 (; 43 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -1673,7 +1428,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_2 (; 51 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_2 (; 44 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -1711,7 +1466,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_4 (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_4 (; 45 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -1749,7 +1504,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_1 (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_1 (; 46 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -1780,7 +1535,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_2 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_2 (; 47 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -1818,7 +1573,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_4 (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_4 (; 48 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -1856,7 +1611,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_8 (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_8 (; 49 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -1894,7 +1649,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_1 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_1 (; 50 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -1925,7 +1680,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_2 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_2 (; 51 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -1963,7 +1718,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_4 (; 59 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_4 (; 52 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -2001,7 +1756,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_1 (; 60 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_1 (; 53 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -2032,7 +1787,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_2 (; 61 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_2 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -2070,7 +1825,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_4 (; 62 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_4 (; 55 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -2108,7 +1863,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_8 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_8 (; 56 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add diff --git a/test/passes/safe-heap_low-memory-unused.txt b/test/passes/safe-heap_low-memory-unused.txt index 801821e4f..469cf9f94 100644 --- a/test/passes/safe-heap_low-memory-unused.txt +++ b/test/passes/safe-heap_low-memory-unused.txt @@ -7,31 +7,31 @@ (memory $0 (shared 100 100)) (func $loads (; 2 ;) (type $0) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_4 + (call $SAFE_HEAP_LOAD_i32_4_4 (i32.const 1) (i32.const 0) ) ) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_A + (call $SAFE_HEAP_LOAD_i32_4_A (i32.const 1) (i32.const 0) ) ) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_4 + (call $SAFE_HEAP_LOAD_i32_4_4 (i32.const 2) (i32.const 31) ) ) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_2 + (call $SAFE_HEAP_LOAD_i32_4_2 (i32.const 3) (i32.const 0) ) ) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_1 + (call $SAFE_HEAP_LOAD_i32_4_1 (i32.const 4) (i32.const 0) ) @@ -67,13 +67,13 @@ ) ) (drop - (call $SAFE_HEAP_LOAD_i64_8_U_4 + (call $SAFE_HEAP_LOAD_i64_8_4 (i32.const 10) (i32.const 0) ) ) (drop - (call $SAFE_HEAP_LOAD_i64_8_U_8 + (call $SAFE_HEAP_LOAD_i64_8_8 (i32.const 11) (i32.const 0) ) @@ -91,7 +91,7 @@ ) ) (drop - (call $SAFE_HEAP_LOAD_v128_16_U_16 + (call $SAFE_HEAP_LOAD_v128_16_16 (i32.const 14) (i32.const 0) ) @@ -655,148 +655,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i32_4_U_1 (; 18 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i32.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_2 (; 19 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i32.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_A (; 20 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i32.atomic.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_4 (; 21 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i32.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_1_A (; 22 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_A (; 18 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -832,7 +691,7 @@ (i64.const 56) ) ) - (func $SAFE_HEAP_LOAD_i64_1_1 (; 23 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_1 (; 19 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -862,7 +721,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_1_U_A (; 24 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_U_A (; 20 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -892,7 +751,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 21 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -922,7 +781,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_1 (; 26 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_1 (; 22 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -952,7 +811,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_A (; 27 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_A (; 23 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -995,7 +854,7 @@ (i64.const 48) ) ) - (func $SAFE_HEAP_LOAD_i64_2_2 (; 28 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_2 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1032,7 +891,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 29 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1062,7 +921,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_A (; 30 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_A (; 26 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1099,7 +958,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 31 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 27 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1136,7 +995,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_1 (; 32 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_1 (; 28 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1166,7 +1025,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_2 (; 33 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_2 (; 29 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1203,7 +1062,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_A (; 34 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_A (; 30 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1246,7 +1105,7 @@ (i64.const 32) ) ) - (func $SAFE_HEAP_LOAD_i64_4_4 (; 35 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_4 (; 31 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1283,7 +1142,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 36 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 32 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1313,7 +1172,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 37 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 33 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1350,7 +1209,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_A (; 38 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_A (; 34 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1387,7 +1246,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 39 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 35 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1424,7 +1283,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_1 (; 40 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_1 (; 36 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1454,7 +1313,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_2 (; 41 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_2 (; 37 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1491,7 +1350,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_4 (; 42 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_4 (; 38 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1528,7 +1387,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_A (; 43 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_A (; 39 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1565,7 +1424,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_8 (; 44 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_8 (; 40 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -1602,185 +1461,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_1 (; 45 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i64.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_2 (; 46 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i64.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_4 (; 47 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i64.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_A (; 48 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (i64.atomic.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_8 (; 49 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (i64.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_f32_4_1 (; 50 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_1 (; 41 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -1810,7 +1491,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_2 (; 51 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_2 (; 42 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -1847,7 +1528,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_4 (; 52 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_4 (; 43 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -1884,7 +1565,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_1 (; 53 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_1 (; 44 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -1914,7 +1595,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_2 (; 54 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_2 (; 45 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -1951,7 +1632,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_4 (; 55 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_4 (; 46 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -1988,7 +1669,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_8 (; 56 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_8 (; 47 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -2025,7 +1706,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_1 (; 57 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_1 (; 48 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -2055,7 +1736,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_2 (; 58 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_2 (; 49 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -2092,7 +1773,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_4 (; 59 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_4 (; 50 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -2129,7 +1810,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_8 (; 60 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_8 (; 51 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -2166,7 +1847,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_16 (; 61 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_16 (; 52 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -2203,185 +1884,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_1 (; 62 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (v128.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_U_2 (; 63 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (v128.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_U_4 (; 64 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (v128.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_U_8 (; 65 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (v128.load align=8 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_U_16 (; 66 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 15) - ) - (call $alignfault) - ) - (v128.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_STORE_i32_1_A (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_A (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2412,7 +1915,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_1 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_1 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2443,7 +1946,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_1 (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_1 (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2474,7 +1977,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_A (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_A (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2512,7 +2015,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_2 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_2 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2550,7 +2053,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_1 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_1 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2581,7 +2084,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_2 (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_2 (; 59 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2619,7 +2122,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_A (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_A (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2657,7 +2160,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_4 (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_4 (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -2695,7 +2198,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_A (; 76 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_A (; 62 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2726,7 +2229,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_1 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_1 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2757,7 +2260,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_1 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_1 (; 64 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2788,7 +2291,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_A (; 79 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_A (; 65 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2826,7 +2329,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_2 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_2 (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2864,7 +2367,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_1 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_1 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2895,7 +2398,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_2 (; 82 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_2 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2933,7 +2436,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_A (; 83 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_A (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -2971,7 +2474,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_4 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_4 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -3009,7 +2512,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_1 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_1 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -3040,7 +2543,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_2 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_2 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -3078,7 +2581,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_4 (; 87 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_4 (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -3116,7 +2619,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_A (; 88 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_A (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -3154,7 +2657,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_8 (; 89 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_8 (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -3192,7 +2695,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_1 (; 90 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_1 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -3223,7 +2726,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_2 (; 91 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_2 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -3261,7 +2764,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_4 (; 92 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_4 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -3299,7 +2802,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_1 (; 93 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_1 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -3330,7 +2833,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_2 (; 94 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_2 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -3368,7 +2871,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_4 (; 95 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_4 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -3406,7 +2909,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_8 (; 96 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_8 (; 82 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -3444,7 +2947,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_1 (; 97 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_1 (; 83 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -3475,7 +2978,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_2 (; 98 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_2 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -3513,7 +3016,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_4 (; 99 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_4 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -3551,7 +3054,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_8 (; 100 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_8 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -3589,7 +3092,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_16 (; 101 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_16 (; 87 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -3637,7 +3140,7 @@ (memory $0 100 100) (func $loads (; 2 ;) (type $0) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_4 + (call $SAFE_HEAP_LOAD_i32_4_4 (i32.const 1) (i32.const 0) ) @@ -3941,111 +3444,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i32_4_U_1 (; 12 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i32.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_2 (; 13 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i32.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_4 (; 14 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i32.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_1_1 (; 15 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_1 (; 12 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4075,7 +3474,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 16 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 13 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4105,7 +3504,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_1 (; 17 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_1 (; 14 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4135,7 +3534,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_2 (; 18 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_2 (; 15 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4172,7 +3571,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 19 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 16 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4202,7 +3601,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 20 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 17 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4239,7 +3638,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_1 (; 21 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_1 (; 18 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4269,7 +3668,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_2 (; 22 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_2 (; 19 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4306,7 +3705,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_4 (; 23 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_4 (; 20 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4343,7 +3742,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 21 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4373,7 +3772,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 22 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4410,7 +3809,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 26 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 23 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4447,7 +3846,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_1 (; 27 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_1 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4477,7 +3876,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_2 (; 28 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_2 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4514,7 +3913,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_4 (; 29 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_4 (; 26 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4551,7 +3950,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_8 (; 30 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_8 (; 27 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -4588,148 +3987,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_1 (; 31 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i64.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_2 (; 32 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i64.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_4 (; 33 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i64.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_8 (; 34 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (i64.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_f32_4_1 (; 35 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_1 (; 28 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -4759,7 +4017,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_2 (; 36 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_2 (; 29 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -4796,7 +4054,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_4 (; 37 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_4 (; 30 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -4833,7 +4091,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_1 (; 38 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_1 (; 31 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -4863,7 +4121,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_2 (; 39 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_2 (; 32 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -4900,7 +4158,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_4 (; 40 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_4 (; 33 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -4937,7 +4195,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_8 (; 41 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_8 (; 34 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -4974,185 +4232,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_1 (; 42 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (v128.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_2 (; 43 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (v128.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_4 (; 44 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (v128.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_8 (; 45 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (v128.load align=8 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_16 (; 46 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 15) - ) - (call $alignfault) - ) - (v128.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_U_1 (; 47 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_1 (; 35 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -5182,7 +4262,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_2 (; 48 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_2 (; 36 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -5219,7 +4299,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_4 (; 49 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_4 (; 37 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -5256,7 +4336,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_8 (; 50 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_8 (; 38 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -5293,7 +4373,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_16 (; 51 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_16 (; 39 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -5330,7 +4410,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_1 (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_1 (; 40 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -5361,7 +4441,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_1 (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_1 (; 41 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -5392,7 +4472,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_2 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_2 (; 42 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -5430,7 +4510,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_1 (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_1 (; 43 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -5461,7 +4541,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_2 (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_2 (; 44 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -5499,7 +4579,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_4 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_4 (; 45 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -5537,7 +4617,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_1 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_1 (; 46 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5568,7 +4648,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_1 (; 59 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_1 (; 47 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5599,7 +4679,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_2 (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_2 (; 48 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5637,7 +4717,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_1 (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_1 (; 49 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5668,7 +4748,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_2 (; 62 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_2 (; 50 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5706,7 +4786,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_4 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_4 (; 51 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5744,7 +4824,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_1 (; 64 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_1 (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5775,7 +4855,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_2 (; 65 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_2 (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5813,7 +4893,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_4 (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_4 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5851,7 +4931,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_8 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_8 (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -5889,7 +4969,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_1 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_1 (; 56 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -5920,7 +5000,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_2 (; 69 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_2 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -5958,7 +5038,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_4 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_4 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -5996,7 +5076,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_1 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_1 (; 59 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -6027,7 +5107,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_2 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_2 (; 60 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -6065,7 +5145,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_4 (; 73 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_4 (; 61 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -6103,7 +5183,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_8 (; 74 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_8 (; 62 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -6141,7 +5221,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_1 (; 75 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_1 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -6172,7 +5252,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_2 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_2 (; 64 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -6210,7 +5290,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_4 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_4 (; 65 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -6248,7 +5328,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_8 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_8 (; 66 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -6286,7 +5366,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_16 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_16 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -6333,7 +5413,7 @@ (memory $0 (shared 100 100)) (func $actions (; 2 ;) (type $FUNCSIG$v) (drop - (call $SAFE_HEAP_LOAD_i32_4_U_4 + (call $SAFE_HEAP_LOAD_i32_4_4 (i32.const 1) (i32.const 0) ) @@ -6825,148 +5905,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i32_4_U_1 (; 17 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i32.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_2 (; 18 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i32.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_A (; 19 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i32.atomic.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i32_4_U_4 (; 20 ;) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 4) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i32.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_1_A (; 21 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_A (; 17 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7002,7 +5941,7 @@ (i64.const 56) ) ) - (func $SAFE_HEAP_LOAD_i64_1_1 (; 22 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_1 (; 18 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7032,7 +5971,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_1_U_A (; 23 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_U_A (; 19 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7062,7 +6001,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_1_U_1 (; 20 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7092,7 +6031,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_1 (; 25 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_1 (; 21 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7122,7 +6061,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_A (; 26 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_A (; 22 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7165,7 +6104,7 @@ (i64.const 48) ) ) - (func $SAFE_HEAP_LOAD_i64_2_2 (; 27 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_2 (; 23 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7202,7 +6141,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 28 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_1 (; 24 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7232,7 +6171,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_A (; 29 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_A (; 25 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7269,7 +6208,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 30 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_2_U_2 (; 26 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7306,7 +6245,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_1 (; 31 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_1 (; 27 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7336,7 +6275,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_2 (; 32 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_2 (; 28 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7373,7 +6312,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_A (; 33 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_A (; 29 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7416,7 +6355,7 @@ (i64.const 32) ) ) - (func $SAFE_HEAP_LOAD_i64_4_4 (; 34 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_4 (; 30 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7453,7 +6392,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 35 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_1 (; 31 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7483,7 +6422,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 36 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_2 (; 32 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7520,7 +6459,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_A (; 37 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_A (; 33 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7557,7 +6496,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 38 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_4_U_4 (; 34 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7594,185 +6533,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_1 (; 39 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (i64.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_2 (; 40 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (i64.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_4 (; 41 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (i64.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_A (; 42 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (i64.atomic.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_8 (; 43 ;) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 8) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (i64.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_i64_8_U_1 (; 44 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_1 (; 35 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7802,7 +6563,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_2 (; 45 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_2 (; 36 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7839,7 +6600,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_4 (; 46 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_4 (; 37 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7876,7 +6637,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_A (; 47 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_A (; 38 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7913,7 +6674,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_i64_8_U_8 (; 48 ;) (param $0 i32) (param $1 i32) (result i64) + (func $SAFE_HEAP_LOAD_i64_8_8 (; 39 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i32) (local.set $2 (i32.add @@ -7950,7 +6711,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_1 (; 49 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_1 (; 40 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -7980,7 +6741,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_2 (; 50 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_2 (; 41 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -8017,7 +6778,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f32_4_4 (; 51 ;) (param $0 i32) (param $1 i32) (result f32) + (func $SAFE_HEAP_LOAD_f32_4_4 (; 42 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) (local.set $2 (i32.add @@ -8054,7 +6815,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_1 (; 52 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_1 (; 43 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -8084,7 +6845,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_2 (; 53 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_2 (; 44 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -8121,7 +6882,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_4 (; 54 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_4 (; 45 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -8158,7 +6919,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_f64_8_8 (; 55 ;) (param $0 i32) (param $1 i32) (result f64) + (func $SAFE_HEAP_LOAD_f64_8_8 (; 46 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local.set $2 (i32.add @@ -8195,185 +6956,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_1 (; 56 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (v128.load align=1 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_2 (; 57 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 1) - ) - (call $alignfault) - ) - (v128.load align=2 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_4 (; 58 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 3) - ) - (call $alignfault) - ) - (v128.load align=4 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_8 (; 59 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 7) - ) - (call $alignfault) - ) - (v128.load align=8 - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_16 (; 60 ;) (param $0 i32) (param $1 i32) (result v128) - (local $2 i32) - (local.set $2 - (i32.add - (local.get $0) - (local.get $1) - ) - ) - (if - (i32.or - (i32.lt_u - (local.get $2) - (i32.const 1024) - ) - (i32.gt_u - (i32.add - (local.get $2) - (i32.const 16) - ) - (i32.load - (global.get $DYNAMICTOP_PTR) - ) - ) - ) - (call $segfault) - ) - (if - (i32.and - (local.get $2) - (i32.const 15) - ) - (call $alignfault) - ) - (v128.load - (local.get $2) - ) - ) - (func $SAFE_HEAP_LOAD_v128_16_U_1 (; 61 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_1 (; 47 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -8403,7 +6986,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_2 (; 62 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_2 (; 48 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -8440,7 +7023,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_4 (; 63 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_4 (; 49 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -8477,7 +7060,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_8 (; 64 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_8 (; 50 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -8514,7 +7097,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_LOAD_v128_16_U_16 (; 65 ;) (param $0 i32) (param $1 i32) (result v128) + (func $SAFE_HEAP_LOAD_v128_16_16 (; 51 ;) (param $0 i32) (param $1 i32) (result v128) (local $2 i32) (local.set $2 (i32.add @@ -8551,7 +7134,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_A (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_A (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8582,7 +7165,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_1_1 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_1_1 (; 53 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8613,7 +7196,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_1 (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_1 (; 54 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8644,7 +7227,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_A (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_A (; 55 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8682,7 +7265,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_2_2 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_2_2 (; 56 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8720,7 +7303,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_1 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_1 (; 57 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8751,7 +7334,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_2 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_2 (; 58 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8789,7 +7372,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_A (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_A (; 59 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8827,7 +7410,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i32_4_4 (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $SAFE_HEAP_STORE_i32_4_4 (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local.set $3 (i32.add @@ -8865,7 +7448,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_A (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_A (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -8896,7 +7479,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_1_1 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_1_1 (; 62 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -8927,7 +7510,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_1 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_1 (; 63 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -8958,7 +7541,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_A (; 78 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_A (; 64 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -8996,7 +7579,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_2_2 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_2_2 (; 65 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9034,7 +7617,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_1 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_1 (; 66 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9065,7 +7648,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_2 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_2 (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9103,7 +7686,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_A (; 82 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_A (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9141,7 +7724,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_4_4 (; 83 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_4_4 (; 69 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9179,7 +7762,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_1 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_1 (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9210,7 +7793,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_2 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_2 (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9248,7 +7831,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_4 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_4 (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9286,7 +7869,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_A (; 87 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_A (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9324,7 +7907,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_i64_8_8 (; 88 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $SAFE_HEAP_STORE_i64_8_8 (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local.set $3 (i32.add @@ -9362,7 +7945,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_1 (; 89 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_1 (; 75 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -9393,7 +7976,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_2 (; 90 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_2 (; 76 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -9431,7 +8014,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f32_4_4 (; 91 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $SAFE_HEAP_STORE_f32_4_4 (; 77 ;) (param $0 i32) (param $1 i32) (param $2 f32) (local $3 i32) (local.set $3 (i32.add @@ -9469,7 +8052,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_1 (; 92 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_1 (; 78 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -9500,7 +8083,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_2 (; 93 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_2 (; 79 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -9538,7 +8121,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_4 (; 94 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_4 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -9576,7 +8159,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_f64_8_8 (; 95 ;) (param $0 i32) (param $1 i32) (param $2 f64) + (func $SAFE_HEAP_STORE_f64_8_8 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local.set $3 (i32.add @@ -9614,7 +8197,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_1 (; 96 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_1 (; 82 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -9645,7 +8228,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_2 (; 97 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_2 (; 83 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -9683,7 +8266,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_4 (; 98 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_4 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -9721,7 +8304,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_8 (; 99 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_8 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add @@ -9759,7 +8342,7 @@ (local.get $2) ) ) - (func $SAFE_HEAP_STORE_v128_16_16 (; 100 ;) (param $0 i32) (param $1 i32) (param $2 v128) + (func $SAFE_HEAP_STORE_v128_16_16 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 v128) (local $3 i32) (local.set $3 (i32.add |