From 46ac3e5abfd9979d9d6b01fb66fbe2002c4fff69 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 19 Jun 2022 09:11:11 +0300 Subject: [PATCH 1/4] add late remove-unused-brs --- src/module.ts | 1 + tests/compiler/bindings/esm.release.wat | 404 +- tests/compiler/bindings/raw.release.wat | 404 +- tests/compiler/call-super.release.wat | 482 +- tests/compiler/class-overloading.release.wat | 2252 +++--- tests/compiler/object-literal.release.wat | 1846 +++-- tests/compiler/resolve-ternary.release.wat | 544 +- tests/compiler/std-wasi/crypto.release.wat | 510 +- tests/compiler/std-wasi/process.release.wat | 1466 ++-- tests/compiler/std/math.release.wat | 46 +- .../compiler/std/string-encoding.release.wat | 1832 +++-- tests/compiler/std/typedarray.release.wat | 7013 ++++++++--------- tests/compiler/std/uri.release.wat | 6 +- tests/compiler/wasi/trace.release.wat | 16 +- 14 files changed, 8358 insertions(+), 8464 deletions(-) diff --git a/src/module.ts b/src/module.ts index d4e3ebe998..290b104157 100644 --- a/src/module.ts +++ b/src/module.ts @@ -2476,6 +2476,7 @@ export class Module { passes.push("duplicate-function-elimination"); passes.push("memory-packing"); passes.push("remove-unused-module-elements"); + passes.push("remove-unused-brs"); this.runPasses(passes); } diff --git a/tests/compiler/bindings/esm.release.wat b/tests/compiler/bindings/esm.release.wat index 16ce5b8eaa..a638463b81 100644 --- a/tests/compiler/bindings/esm.release.wat +++ b/tests/compiler/bindings/esm.release.wat @@ -2491,244 +2491,242 @@ i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store + local.get $2 + block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) local.get $0 - i32.store - local.get $2 + i32.load offset=8 + i32.const 1 + i32.shr_u local.get $1 - i32.store offset=4 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.add + local.set $4 local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store - local.get $2 - block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.add - local.set $4 + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store local.get $2 - i32.const 4 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $2 + i32.eqz + if global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store - local.get $2 i32.const 12 - i32.const 5 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store - global.get $~lib/memory/__stack_pointer - local.tee $5 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - end - local.get $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $4 - i32.const 134217727 - i32.gt_u - if - i32.const 1216 - i32.const 1264 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 3 - i32.shl - local.tee $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=4 - local.get $2 - local.get $4 - i32.store - local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + end + local.get $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $4 + i32.const 134217727 + i32.gt_u + if + i32.const 1216 + i32.const 1264 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 3 + i32.shl + local.tee $6 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=4 + local.get $2 + local.get $4 + i32.store + local.get $4 + if local.get $2 local.get $4 - i32.store offset=4 - local.get $2 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - br $__inlined_func$~lib/typedarray/Uint64Array#constructor + call $byn-split-outlined-A$~lib/rt/itcms/__link end - br $folding-inner1 + local.get $2 + local.get $4 + i32.store offset=4 + local.get $2 + local.get $6 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + br $__inlined_func$~lib/typedarray/Uint64Array#constructor end - local.tee $2 - i32.store - loop $for-loop|0 + br $folding-inner1 + end + local.tee $2 + i32.store + loop $for-loop|0 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.get $3 + i32.gt_s + if local.get $0 i32.load offset=8 i32.const 1 i32.shr_u local.get $3 - i32.gt_s + i32.le_u if - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $3 - i32.le_u - if - i32.const 1520 - i32.const 1760 - i32.const 448 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $3 - local.get $0 - i32.load offset=4 - local.get $3 - i32.const 1 - i32.shl - i32.add - i64.load16_s - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 + i32.const 1520 + i32.const 1760 + i32.const 448 + i32.const 64 + call $~lib/builtins/abort + unreachable end + local.get $2 + local.get $3 + local.get $0 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + i64.load16_s + call $~lib/typedarray/Uint64Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 end - i32.const 0 - local.set $3 - loop $for-loop|1 + end + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.get $3 + i32.gt_s + if + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.get $3 + i32.add + local.set $4 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u local.get $3 - i32.gt_s + i32.le_u if - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $3 - i32.add - local.set $4 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.get $3 - i32.le_u - if - i32.const 1520 - i32.const 1760 - i32.const 1294 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $4 - local.get $1 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - f32.load - i64.trunc_sat_f32_u - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 + i32.const 1520 + i32.const 1760 + i32.const 1294 + i32.const 64 + call $~lib/builtins/abort + unreachable end + local.get $2 + local.get $4 + local.get $1 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + f32.load + i64.trunc_sat_f32_u + call $~lib/typedarray/Uint64Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return end i32.const 18560 i32.const 18608 diff --git a/tests/compiler/bindings/raw.release.wat b/tests/compiler/bindings/raw.release.wat index 3d2254e47d..6cecf08ac9 100644 --- a/tests/compiler/bindings/raw.release.wat +++ b/tests/compiler/bindings/raw.release.wat @@ -2491,244 +2491,242 @@ i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store + local.get $2 + local.get $1 + i32.store offset=4 + local.get $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store + local.get $2 + block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) local.get $0 - i32.store - local.get $2 + i32.load offset=8 + i32.const 1 + i32.shr_u local.get $1 - i32.store offset=4 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.add + local.set $4 local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store - local.get $2 - block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.add - local.set $4 + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store local.get $2 - i32.const 4 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $2 + i32.eqz + if global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store - local.get $2 i32.const 12 - i32.const 5 + i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store - global.get $~lib/memory/__stack_pointer - local.tee $5 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - end - local.get $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $4 - i32.const 134217727 - i32.gt_u - if - i32.const 1216 - i32.const 1264 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 3 - i32.shl - local.tee $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=4 - local.get $2 - local.get $4 - i32.store - local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + end + local.get $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $4 + i32.const 134217727 + i32.gt_u + if + i32.const 1216 + i32.const 1264 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 3 + i32.shl + local.tee $6 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=4 + local.get $2 + local.get $4 + i32.store + local.get $4 + if local.get $2 local.get $4 - i32.store offset=4 - local.get $2 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - br $__inlined_func$~lib/typedarray/Uint64Array#constructor + call $byn-split-outlined-A$~lib/rt/itcms/__link end - br $folding-inner1 + local.get $2 + local.get $4 + i32.store offset=4 + local.get $2 + local.get $6 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + br $__inlined_func$~lib/typedarray/Uint64Array#constructor end - local.tee $2 - i32.store - loop $for-loop|0 + br $folding-inner1 + end + local.tee $2 + i32.store + loop $for-loop|0 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.get $3 + i32.gt_s + if local.get $0 i32.load offset=8 i32.const 1 i32.shr_u local.get $3 - i32.gt_s + i32.le_u if - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $3 - i32.le_u - if - i32.const 1520 - i32.const 1760 - i32.const 448 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $3 - local.get $0 - i32.load offset=4 - local.get $3 - i32.const 1 - i32.shl - i32.add - i64.load16_s - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 + i32.const 1520 + i32.const 1760 + i32.const 448 + i32.const 64 + call $~lib/builtins/abort + unreachable end + local.get $2 + local.get $3 + local.get $0 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + i64.load16_s + call $~lib/typedarray/Uint64Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 end - i32.const 0 - local.set $3 - loop $for-loop|1 + end + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.get $3 + i32.gt_s + if + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.get $3 + i32.add + local.set $4 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u local.get $3 - i32.gt_s + i32.le_u if - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $3 - i32.add - local.set $4 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.get $3 - i32.le_u - if - i32.const 1520 - i32.const 1760 - i32.const 1294 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $4 - local.get $1 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - f32.load - i64.trunc_sat_f32_u - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 + i32.const 1520 + i32.const 1760 + i32.const 1294 + i32.const 64 + call $~lib/builtins/abort + unreachable end + local.get $2 + local.get $4 + local.get $1 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + f32.load + i64.trunc_sat_f32_u + call $~lib/typedarray/Uint64Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return end i32.const 18560 i32.const 18608 diff --git a/tests/compiler/call-super.release.wat b/tests/compiler/call-super.release.wat index fbee925aa7..63c7e63910 100644 --- a/tests/compiler/call-super.release.wat +++ b/tests/compiler/call-super.release.wat @@ -1464,268 +1464,262 @@ i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 - block $__inlined_func$call-super/test1 - global.get $~lib/memory/__stack_pointer - i32.const 1596 - i32.lt_s - br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 8 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + i32.const 2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store - local.get $1 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1596 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store - local.get $0 - i32.const 8 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store - local.get $0 - i32.const 2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1596 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer + end + local.get $0 + i32.const 1 + i32.store + local.get $0 + i32.load + i32.const 1 + i32.ne + if i32.const 0 - i32.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 1 - i32.store - local.get $0 - i32.load - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store - local.get $0 - i32.load - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.store - local.get $0 - i32.load - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 22 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 23 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$call-super/test1 + i32.const 1056 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - block $__inlined_func$call-super/test2 - global.get $~lib/memory/__stack_pointer - i32.const 1596 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $1 + local.get $2 + local.get $0 + i32.store + local.get $0 + i32.load + i32.const 1 + i32.ne + if i32.const 0 - i32.store - local.get $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1596 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 + i32.const 1056 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.const 2 + i32.ne + if i32.const 0 - i32.store - local.get $0 - i32.const 8 + i32.const 1056 + i32.const 16 i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1596 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store + local.get $0 + i32.load + i32.const 1 + i32.ne + if i32.const 0 - i32.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 1 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store - local.get $0 - i32.load - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 38 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 39 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i32.const 1056 + i32.const 22 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 23 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 8 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + i32.const 2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1596 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $0 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 i32.store - local.get $0 - i32.load - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$call-super/test2 end + local.get $0 + i32.const 1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store + local.get $0 + i32.load + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 38 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 39 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store + local.get $0 + i32.load + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub diff --git a/tests/compiler/class-overloading.release.wat b/tests/compiler/class-overloading.release.wat index 5845b31180..df255f7e8f 100644 --- a/tests/compiler/class-overloading.release.wat +++ b/tests/compiler/class-overloading.release.wat @@ -1562,1285 +1562,1283 @@ i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1932 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - memory.size - i32.const 16 - i32.shl - i32.const 18316 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1204 - i32.const 1200 - i32.store - i32.const 1208 - i32.const 1200 - i32.store - i32.const 1200 - global.set $~lib/rt/itcms/pinSpace - i32.const 1236 - i32.const 1232 - i32.store - i32.const 1240 - i32.const 1232 - i32.store - i32.const 1232 - global.set $~lib/rt/itcms/toSpace - i32.const 1380 - i32.const 1376 - i32.store - i32.const 1384 - i32.const 1376 - i32.store - i32.const 1376 - global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 1932 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + memory.size + i32.const 16 + i32.shl + i32.const 18316 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1204 + i32.const 1200 + i32.store + i32.const 1208 + i32.const 1200 + i32.store + i32.const 1200 + global.set $~lib/rt/itcms/pinSpace + i32.const 1236 + i32.const 1232 + i32.store + i32.const 1240 + i32.const 1232 + i32.store + i32.const 1232 + global.set $~lib/rt/itcms/toSpace + i32.const 1380 + i32.const 1376 + i32.store + i32.const 1384 + i32.const 1376 + i32.store + i32.const 1376 + global.set $~lib/rt/itcms/fromSpace + i32.const 0 + call $class-overloading/B#constructor + global.set $class-overloading/a + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + local.get $0 + call $class-overloading/A#a@virtual + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/which + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1520 + i32.store offset=4 + local.get $0 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - call $class-overloading/B#constructor - global.set $class-overloading/a - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - local.get $0 - call $class-overloading/A#a@virtual - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/which - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1520 - i32.store offset=4 - local.get $0 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 38 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1056 - global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A#b@virtual - block $default - block $case2 - block $case1 - block $case0 - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.sub - br_table $case0 $case1 $case0 $case0 $case2 $default - end - i32.const 1520 - global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@virtual + i32.const 1552 + i32.const 38 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A#b@virtual + block $default + block $case2 + block $case1 + block $case0 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 4 + i32.sub + br_table $case0 $case1 $case0 $case0 $case2 $default end - i32.const 1616 + i32.const 1520 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual end - i32.const 1648 + i32.const 1616 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual end - i32.const 1488 + i32.const 1648 global.set $class-overloading/which + br $__inlined_func$class-overloading/A#b@virtual end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1520 - i32.store offset=4 - local.get $1 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 41 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1056 + i32.const 1488 global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A#get:c@virtual - block $default6 - block $case27 - block $case18 - block $case09 - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.sub - br_table $case09 $case18 $case09 $case09 $case27 $default6 - end - i32.const 1520 - global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@virtual + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1520 + i32.store offset=4 + local.get $1 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 41 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A#get:c@virtual + block $default6 + block $case27 + block $case18 + block $case09 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 4 + i32.sub + br_table $case09 $case18 $case09 $case09 $case27 $default6 end - i32.const 1616 + i32.const 1520 global.set $class-overloading/which br $__inlined_func$class-overloading/A#get:c@virtual end - i32.const 1648 + i32.const 1616 global.set $class-overloading/which br $__inlined_func$class-overloading/A#get:c@virtual end - i32.const 1488 + i32.const 1648 global.set $class-overloading/which + br $__inlined_func$class-overloading/A#get:c@virtual end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1520 - i32.store offset=4 - local.get $1 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 44 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1056 + i32.const 1488 global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A#b@virtual10 - block $default11 - block $case212 - block $case113 - block $case014 - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.sub - br_table $case014 $case113 $case014 $case014 $case212 $default11 - end - i32.const 1520 - global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@virtual10 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1520 + i32.store offset=4 + local.get $1 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 44 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A#b@virtual10 + block $default11 + block $case212 + block $case113 + block $case014 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 4 + i32.sub + br_table $case014 $case113 $case014 $case014 $case212 $default11 end - i32.const 1616 + i32.const 1520 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual10 end - i32.const 1648 + i32.const 1616 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual10 end - i32.const 1488 + i32.const 1648 global.set $class-overloading/which + br $__inlined_func$class-overloading/A#b@virtual10 end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1520 - i32.store offset=4 - local.get $1 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 47 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1932 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store - local.get $0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - call $class-overloading/B#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - global.set $class-overloading/c - i32.const 1056 - global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/c - i32.store - call $class-overloading/C#a - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/which - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1616 - i32.store offset=4 - local.get $0 - i32.const 1616 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 71 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1056 - global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/c - i32.store - i32.const 1616 - global.set $class-overloading/which - local.get $0 - i32.const 1616 - i32.store - local.get $0 - i32.const 1616 - i32.store offset=4 - i32.const 1616 - i32.const 1616 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 74 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1056 - global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/c - i32.store - i32.const 1616 - global.set $class-overloading/which - local.get $0 - i32.const 1616 - i32.store - local.get $0 - i32.const 1616 - i32.store offset=4 - i32.const 1616 - i32.const 1616 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 77 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/c - i32.store - i32.const 1616 - global.set $class-overloading/which - local.get $0 - i32.const 1616 - i32.store - local.get $0 - i32.const 1616 - i32.store offset=4 - i32.const 1616 - i32.const 1616 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 79 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $class-overloading/D#constructor - global.set $class-overloading/a - i32.const 1056 + i32.const 1488 global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - local.get $0 - call $class-overloading/A#a@virtual - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/which - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1520 - i32.store offset=4 - local.get $0 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 89 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1056 - global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A#b@virtual22 - block $default23 - block $case224 - block $case125 - block $case026 - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.sub - br_table $case026 $case125 $case026 $case026 $case224 $default23 - end - i32.const 1520 - global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@virtual22 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1520 + i32.store offset=4 + local.get $1 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 47 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1932 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + call $class-overloading/B#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $class-overloading/c + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/c + i32.store + call $class-overloading/C#a + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/which + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1616 + i32.store offset=4 + local.get $0 + i32.const 1616 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 71 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/c + i32.store + i32.const 1616 + global.set $class-overloading/which + local.get $0 + i32.const 1616 + i32.store + local.get $0 + i32.const 1616 + i32.store offset=4 + i32.const 1616 + i32.const 1616 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 74 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/c + i32.store + i32.const 1616 + global.set $class-overloading/which + local.get $0 + i32.const 1616 + i32.store + local.get $0 + i32.const 1616 + i32.store offset=4 + i32.const 1616 + i32.const 1616 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 77 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/c + i32.store + i32.const 1616 + global.set $class-overloading/which + local.get $0 + i32.const 1616 + i32.store + local.get $0 + i32.const 1616 + i32.store offset=4 + i32.const 1616 + i32.const 1616 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 79 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $class-overloading/D#constructor + global.set $class-overloading/a + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + local.get $0 + call $class-overloading/A#a@virtual + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/which + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1520 + i32.store offset=4 + local.get $0 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 89 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A#b@virtual22 + block $default23 + block $case224 + block $case125 + block $case026 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 4 + i32.sub + br_table $case026 $case125 $case026 $case026 $case224 $default23 end - i32.const 1616 + i32.const 1520 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual22 end - i32.const 1648 + i32.const 1616 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual22 end - i32.const 1488 + i32.const 1648 global.set $class-overloading/which + br $__inlined_func$class-overloading/A#b@virtual22 end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1520 - i32.store offset=4 - local.get $1 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 92 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1056 + i32.const 1488 global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A#get:c@virtual31 - block $default32 - block $case233 - block $case134 - block $case035 - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.sub - br_table $case035 $case134 $case035 $case035 $case233 $default32 - end - i32.const 1520 - global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@virtual31 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1520 + i32.store offset=4 + local.get $1 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 92 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A#get:c@virtual31 + block $default32 + block $case233 + block $case134 + block $case035 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 4 + i32.sub + br_table $case035 $case134 $case035 $case035 $case233 $default32 end - i32.const 1616 + i32.const 1520 global.set $class-overloading/which br $__inlined_func$class-overloading/A#get:c@virtual31 end - i32.const 1648 + i32.const 1616 global.set $class-overloading/which br $__inlined_func$class-overloading/A#get:c@virtual31 end - i32.const 1488 + i32.const 1648 global.set $class-overloading/which + br $__inlined_func$class-overloading/A#get:c@virtual31 end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1520 - i32.store offset=4 - local.get $1 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 95 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A#b@virtual40 - block $default41 - block $case242 - block $case143 - block $case044 - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.sub - br_table $case044 $case143 $case044 $case044 $case242 $default41 - end - i32.const 1520 - global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@virtual40 + i32.const 1488 + global.set $class-overloading/which + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1520 + i32.store offset=4 + local.get $1 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 95 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A#b@virtual40 + block $default41 + block $case242 + block $case143 + block $case044 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 4 + i32.sub + br_table $case044 $case143 $case044 $case044 $case242 $default41 end - i32.const 1616 + i32.const 1520 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual40 end - i32.const 1648 + i32.const 1616 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual40 end - i32.const 1488 + i32.const 1648 global.set $class-overloading/which + br $__inlined_func$class-overloading/A#b@virtual40 end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1520 - i32.store offset=4 - local.get $1 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 97 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $class-overloading/E#constructor - global.set $class-overloading/a - i32.const 1056 - global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - local.get $0 - call $class-overloading/A#a@virtual - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/which - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1520 - i32.store offset=4 - local.get $0 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 107 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1056 + i32.const 1488 global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A#b@virtual49 - block $default50 - block $case251 - block $case152 - block $case053 - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.sub - br_table $case053 $case152 $case053 $case053 $case251 $default50 - end - i32.const 1520 - global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@virtual49 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1520 + i32.store offset=4 + local.get $1 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 97 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $class-overloading/E#constructor + global.set $class-overloading/a + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + local.get $0 + call $class-overloading/A#a@virtual + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/which + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1520 + i32.store offset=4 + local.get $0 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 107 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A#b@virtual49 + block $default50 + block $case251 + block $case152 + block $case053 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 4 + i32.sub + br_table $case053 $case152 $case053 $case053 $case251 $default50 end - i32.const 1616 + i32.const 1520 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual49 end - i32.const 1648 + i32.const 1616 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual49 end - i32.const 1488 + i32.const 1648 global.set $class-overloading/which + br $__inlined_func$class-overloading/A#b@virtual49 end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1520 - i32.store offset=4 - local.get $1 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 110 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1056 + i32.const 1488 global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A#get:c@virtual58 - block $default59 - block $case260 - block $case161 - block $case062 - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.sub - br_table $case062 $case161 $case062 $case062 $case260 $default59 - end - i32.const 1520 - global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@virtual58 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1520 + i32.store offset=4 + local.get $1 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 110 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A#get:c@virtual58 + block $default59 + block $case260 + block $case161 + block $case062 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 4 + i32.sub + br_table $case062 $case161 $case062 $case062 $case260 $default59 end - i32.const 1616 + i32.const 1520 global.set $class-overloading/which br $__inlined_func$class-overloading/A#get:c@virtual58 end - i32.const 1648 + i32.const 1616 global.set $class-overloading/which br $__inlined_func$class-overloading/A#get:c@virtual58 end - i32.const 1488 + i32.const 1648 global.set $class-overloading/which + br $__inlined_func$class-overloading/A#get:c@virtual58 end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1520 - i32.store offset=4 - local.get $1 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 113 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A#b@virtual67 - block $default68 - block $case269 - block $case170 - block $case071 - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.sub - br_table $case071 $case170 $case071 $case071 $case269 $default68 - end - i32.const 1520 - global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@virtual67 + i32.const 1488 + global.set $class-overloading/which + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1520 + i32.store offset=4 + local.get $1 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 113 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A#b@virtual67 + block $default68 + block $case269 + block $case170 + block $case071 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 4 + i32.sub + br_table $case071 $case170 $case071 $case071 $case269 $default68 end - i32.const 1616 + i32.const 1520 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual67 end - i32.const 1648 + i32.const 1616 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual67 end - i32.const 1488 + i32.const 1648 global.set $class-overloading/which + br $__inlined_func$class-overloading/A#b@virtual67 end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1520 - i32.store offset=4 - local.get $1 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 115 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1932 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store - local.get $0 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - call $class-overloading/E#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - global.set $class-overloading/a - i32.const 1056 - global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - local.get $0 - call $class-overloading/A#a@virtual - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/which - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1648 - i32.store offset=4 - local.get $0 - i32.const 1648 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 137 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1056 + i32.const 1488 global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A#b@virtual77 - block $default78 - block $case279 - block $case180 - block $case081 - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.sub - br_table $case081 $case180 $case081 $case081 $case279 $default78 - end - i32.const 1520 - global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@virtual77 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1520 + i32.store offset=4 + local.get $1 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 115 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1932 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + call $class-overloading/E#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $class-overloading/a + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + local.get $0 + call $class-overloading/A#a@virtual + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/which + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1648 + i32.store offset=4 + local.get $0 + i32.const 1648 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 137 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A#b@virtual77 + block $default78 + block $case279 + block $case180 + block $case081 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 4 + i32.sub + br_table $case081 $case180 $case081 $case081 $case279 $default78 end - i32.const 1616 + i32.const 1520 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual77 end - i32.const 1648 + i32.const 1616 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual77 end - i32.const 1488 + i32.const 1648 global.set $class-overloading/which + br $__inlined_func$class-overloading/A#b@virtual77 end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1648 - i32.store offset=4 - local.get $1 - i32.const 1648 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 140 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1056 + i32.const 1488 global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A#get:c@virtual86 - block $default87 - block $case288 - block $case189 - block $case090 - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.sub - br_table $case090 $case189 $case090 $case090 $case288 $default87 - end - i32.const 1520 - global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@virtual86 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1648 + i32.store offset=4 + local.get $1 + i32.const 1648 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 140 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A#get:c@virtual86 + block $default87 + block $case288 + block $case189 + block $case090 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 4 + i32.sub + br_table $case090 $case189 $case090 $case090 $case288 $default87 end - i32.const 1616 + i32.const 1520 global.set $class-overloading/which br $__inlined_func$class-overloading/A#get:c@virtual86 end - i32.const 1648 + i32.const 1616 global.set $class-overloading/which br $__inlined_func$class-overloading/A#get:c@virtual86 end - i32.const 1488 + i32.const 1648 global.set $class-overloading/which + br $__inlined_func$class-overloading/A#get:c@virtual86 end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1648 - i32.store offset=4 - local.get $1 - i32.const 1648 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 143 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1056 + i32.const 1488 global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/a - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A#b@virtual95 - block $default96 - block $case297 - block $case198 - block $case099 - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.sub - br_table $case099 $case198 $case099 $case099 $case297 $default96 - end - i32.const 1520 - global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@virtual95 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1648 + i32.store offset=4 + local.get $1 + i32.const 1648 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 143 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/a + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A#b@virtual95 + block $default96 + block $case297 + block $case198 + block $case099 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 4 + i32.sub + br_table $case099 $case198 $case099 $case099 $case297 $default96 end - i32.const 1616 + i32.const 1520 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual95 end - i32.const 1648 + i32.const 1616 global.set $class-overloading/which br $__inlined_func$class-overloading/A#b@virtual95 end - i32.const 1488 + i32.const 1648 global.set $class-overloading/which + br $__inlined_func$class-overloading/A#b@virtual95 end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1648 - i32.store offset=4 - local.get $1 - i32.const 1648 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 146 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1932 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store - local.get $0 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - global.set $class-overloading/ia - i32.const 1056 + i32.const 1488 global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/ia - local.tee $0 - i32.store - block $__inlined_func$class-overloading/IA#foo@virtual - block $default105 - block $case1106 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1648 + i32.store offset=4 + local.get $1 + i32.const 1648 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 146 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1932 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $class-overloading/ia + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/ia + local.tee $0 + i32.store + block $__inlined_func$class-overloading/IA#foo@virtual + block $default105 + block $case1106 + local.get $0 + i32.const 8 + i32.sub + i32.load + local.tee $0 + i32.const 10 + i32.ne + if local.get $0 - i32.const 8 - i32.sub - i32.load - local.tee $0 - i32.const 10 - i32.ne - if - local.get $0 - i32.const 12 - i32.eq - br_if $case1106 - br $default105 - end - i32.const 1680 - global.set $class-overloading/which - br $__inlined_func$class-overloading/IA#foo@virtual + i32.const 12 + i32.eq + br_if $case1106 + br $default105 end - i32.const 1712 + i32.const 1680 global.set $class-overloading/which br $__inlined_func$class-overloading/IA#foo@virtual end - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $class-overloading/which - local.tee $1 - i32.store - local.get $0 - i32.const 1680 - i32.store offset=4 - local.get $1 - i32.const 1680 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 162 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 1712 + global.set $class-overloading/which + br $__inlined_func$class-overloading/IA#foo@virtual end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1932 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1680 + i32.store offset=4 + local.get $1 + i32.const 1680 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.store - local.get $0 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - global.set $class-overloading/ic - i32.const 1056 - global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/ic - local.tee $0 - i32.store - block $__inlined_func$class-overloading/IA#foo@virtual109 - block $default110 - block $case1111 + i32.const 1552 + i32.const 162 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1932 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $class-overloading/ic + i32.const 1056 + global.set $class-overloading/which + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/ic + local.tee $0 + i32.store + block $__inlined_func$class-overloading/IA#foo@virtual109 + block $default110 + block $case1111 + local.get $0 + i32.const 8 + i32.sub + i32.load + local.tee $0 + i32.const 10 + i32.ne + if local.get $0 - i32.const 8 - i32.sub - i32.load - local.tee $0 - i32.const 10 - i32.ne - if - local.get $0 - i32.const 12 - i32.eq - br_if $case1111 - br $default110 - end - i32.const 1680 - global.set $class-overloading/which - br $__inlined_func$class-overloading/IA#foo@virtual109 + i32.const 12 + i32.eq + br_if $case1111 + br $default110 end - i32.const 1712 + i32.const 1680 global.set $class-overloading/which br $__inlined_func$class-overloading/IA#foo@virtual109 end - unreachable + i32.const 1712 + global.set $class-overloading/which + br $__inlined_func$class-overloading/IA#foo@virtual109 end + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $class-overloading/which + local.tee $1 + i32.store + local.get $0 + i32.const 1712 + i32.store offset=4 + local.get $1 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 177 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1932 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1932 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer + i32.const 13 + call $~lib/rt/itcms/__new local.tee $0 - global.get $class-overloading/which - local.tee $1 i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $class-overloading/b2 + global.get $~lib/memory/__stack_pointer + global.get $class-overloading/b2 + local.tee $0 + i32.store + block $__inlined_func$class-overloading/A2#foo@virtual (result i32) local.get $0 - i32.const 1712 - i32.store offset=4 - local.get $1 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 177 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1932 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store - local.get $0 + i32.load i32.const 14 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1932 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.eqz + i32.eq if global.get $~lib/memory/__stack_pointer - i32.const 13 - call $~lib/rt/itcms/__new + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1932 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer local.tee $0 + i32.const 0 i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - global.set $class-overloading/b2 - global.get $~lib/memory/__stack_pointer - global.get $class-overloading/b2 - local.tee $0 - i32.store - block $__inlined_func$class-overloading/A2#foo@virtual (result i32) local.get $0 - i32.const 8 + i32.const 4 i32.sub - i32.load - i32.const 14 - i32.eq + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1932 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1932 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1932 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store - local.get $0 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1932 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store - local.get $0 - i32.const 15 + i32.const 16 call $~lib/rt/itcms/__new local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1932 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 15 - i32.ne - if - i32.const 1744 - i32.const 1552 - i32.const 186 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 3 - br $__inlined_func$class-overloading/A2#foo@virtual end - i32.const 1744 - i32.const 1552 - i32.const 198 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 209 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 15 + i32.ne + if + i32.const 1744 + i32.const 1552 + i32.const 186 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3 + br $__inlined_func$class-overloading/A2#foo@virtual end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - return + i32.const 1744 + i32.const 1552 + i32.const 198 + i32.const 5 + call $~lib/builtins/abort + unreachable end + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 209 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return end i32.const 18336 i32.const 18384 diff --git a/tests/compiler/object-literal.release.wat b/tests/compiler/object-literal.release.wat index aa5ee9ce87..d8169f99a2 100644 --- a/tests/compiler/object-literal.release.wat +++ b/tests/compiler/object-literal.release.wat @@ -1746,981 +1746,979 @@ i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill - i32.const 1156 - i32.const 1152 - i32.store - i32.const 1160 - i32.const 1152 - i32.store - i32.const 1152 - global.set $~lib/rt/itcms/toSpace - memory.size - i32.const 16 - i32.shl - i32.const 18156 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1364 - i32.const 1360 - i32.store - i32.const 1368 - i32.const 1360 - i32.store - i32.const 1360 - global.set $~lib/rt/itcms/pinSpace - i32.const 1396 - i32.const 1392 - i32.store - i32.const 1400 - i32.const 1392 - i32.store - i32.const 1392 - global.set $~lib/rt/itcms/fromSpace - local.get $0 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill + i32.const 1156 + i32.const 1152 + i32.store + i32.const 1160 + i32.const 1152 + i32.store + i32.const 1152 + global.set $~lib/rt/itcms/toSpace + memory.size + i32.const 16 + i32.shl + i32.const 18156 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1364 + i32.const 1360 + i32.store + i32.const 1368 + i32.const 1360 + i32.store + i32.const 1360 + global.set $~lib/rt/itcms/pinSpace + i32.const 1396 + i32.const 1392 + i32.store + i32.const 1400 + i32.const 1392 + i32.store + i32.const 1392 + global.set $~lib/rt/itcms/fromSpace + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store + local.get $1 + i32.const 8 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 123 + i32.store + local.get $1 + i32.const 1056 + i32.store offset=4 + local.get $1 + i32.const 1056 + call $byn-split-outlined-A$~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 + i32.load + i32.const 123 + i32.ne + if i32.const 0 - i32.store - local.get $1 - i32.const 8 + i32.const 1504 + i32.const 9 i32.const 3 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.load offset=4 + local.tee $1 + i32.store + local.get $0 + i32.const 1056 + i32.store offset=4 + local.get $1 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.store - local.get $1 + i32.const 1504 + i32.const 10 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + i32.const 8 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 + i32.const 123 + i32.store + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1056 + i32.store + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 0 + i32.const 5 + i32.const 1052 + i32.load + i32.const 1 + i32.shr_u + local.tee $0 + local.get $0 + i32.const 5 + i32.gt_u + select + local.tee $1 + local.get $1 + i32.const 0 + i32.gt_s + select + i32.const 1 + i32.shl + local.set $3 + block $__inlined_func$~lib/string/String#substring i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 123 - i32.store local.get $1 - i32.const 1056 - i32.store offset=4 - local.get $1 - i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store - local.get $0 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 + i32.const 0 i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.load - i32.const 123 - i32.ne - if - i32.const 0 - i32.const 1504 - i32.const 9 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.load offset=4 + select + i32.const 1 + i32.shl + local.tee $4 + local.get $3 + i32.sub local.tee $1 - i32.store - local.get $0 - i32.const 1056 - i32.store offset=4 - local.get $1 - i32.const 1056 - call $~lib/string/String.__eq i32.eqz if - i32.const 0 - i32.const 1504 - i32.const 10 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1568 + local.set $0 + br $__inlined_func$~lib/string/String#substring end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/rt/tlsf/ROOT - i32.eqz + i32.const 0 + local.get $0 + i32.const 1 + i32.shl + local.get $4 + i32.eq + local.get $3 + select if - call $~lib/rt/tlsf/initialize + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1056 + local.set $0 + br $__inlined_func$~lib/string/String#substring end - global.get $~lib/rt/tlsf/ROOT - i32.const 8 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - i32.const 123 - i32.store global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__new local.tee $0 - i32.const 1056 i32.store local.get $0 + local.get $3 + i32.const 1056 + i32.add + local.get $1 + memory.copy + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + end + local.get $2 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $2 + i32.load + i32.const 123 + i32.ne + if i32.const 0 - i32.const 5 - i32.const 1052 - i32.load - i32.const 1 - i32.shr_u - local.tee $0 - local.get $0 - i32.const 5 - i32.gt_u - select - local.tee $1 - local.get $1 - i32.const 0 - i32.gt_s - select - i32.const 1 - i32.shl - local.set $3 - block $__inlined_func$~lib/string/String#substring - i32.const 0 - local.get $1 - local.get $1 - i32.const 0 - i32.lt_s - select - i32.const 1 - i32.shl - local.tee $4 - local.get $3 - i32.sub - local.tee $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1568 - local.set $0 - br $__inlined_func$~lib/string/String#substring - end - i32.const 0 - local.get $0 - i32.const 1 - i32.shl - local.get $4 - i32.eq - local.get $3 - select - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1056 - local.set $0 - br $__inlined_func$~lib/string/String#substring - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $3 - i32.const 1056 - i32.add - local.get $1 - memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $2 - i32.load - i32.const 123 - i32.ne - if - i32.const 0 - i32.const 1504 - i32.const 27 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $2 - i32.load offset=4 - local.tee $1 - i32.store - local.get $0 - i32.const 1600 - i32.store offset=4 - local.get $1 - i32.const 1600 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 28 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - call $~lib/rt/tlsf/__free - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store - local.get $1 - i32.const 65 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i64.const 0 - i64.store offset=8 - local.get $1 - i64.const 0 - i64.store offset=16 - local.get $1 - f32.const 0 - f32.store offset=24 - local.get $1 - f64.const 0 - f64.store offset=32 - local.get $1 - i32.const 0 - i32.store8 offset=40 - local.get $1 - i32.const 0 - i32.store8 offset=41 - local.get $1 - i32.const 0 - i32.store16 offset=42 - local.get $1 - i32.const 0 - i32.store16 offset=44 - local.get $1 - i32.const 0 - i32.store offset=48 - local.get $1 - i32.const 0 - i32.store offset=52 - local.get $1 - f64.const 0 - f64.store offset=56 - local.get $1 - i32.const 0 - i32.store8 offset=64 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i64.const 0 - i64.store offset=8 - local.get $1 - i64.const 0 - i64.store offset=16 - local.get $1 - f32.const 0 - f32.store offset=24 - local.get $1 - f64.const 0 - f64.store offset=32 - local.get $1 - i32.const 0 - i32.store8 offset=40 - local.get $1 - i32.const 0 - i32.store8 offset=41 - local.get $1 - i32.const 0 - i32.store16 offset=42 - local.get $1 - i32.const 0 - i32.store16 offset=44 - local.get $1 - i32.const 0 - i32.store offset=48 - local.get $1 - i32.const 0 - i32.store offset=52 - local.get $1 - f64.const 0 - f64.store offset=56 - local.get $1 - i32.const 0 - i32.store8 offset=64 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load - if - i32.const 0 - i32.const 1504 - i32.const 57 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=4 - if - i32.const 0 - i32.const 1504 - i32.const 58 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.load offset=8 - i64.eqz - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 59 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.load offset=16 - i64.eqz - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f32.load offset=24 - f32.const 0 - f32.ne - if - i32.const 0 - i32.const 1504 - i32.const 61 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f64.load offset=32 - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1504 - i32.const 62 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load8_s offset=40 - if - i32.const 0 - i32.const 1504 - i32.const 63 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load8_u offset=41 - if - i32.const 0 - i32.const 1504 - i32.const 64 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load16_s offset=42 - if - i32.const 0 - i32.const 1504 - i32.const 65 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load16_u offset=44 - if - i32.const 0 - i32.const 1504 - i32.const 66 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=48 - if - i32.const 0 - i32.const 1504 - i32.const 67 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=52 - if - i32.const 0 - i32.const 1504 - i32.const 68 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f64.load offset=56 - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1504 - i32.const 69 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load8_u offset=64 - if - i32.const 0 - i32.const 1504 - i32.const 70 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store - local.get $1 - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - i32.const 0 - i32.store - local.get $1 + i32.const 1504 + i32.const 27 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $2 + i32.load offset=4 + local.tee $1 + i32.store + local.get $0 + i32.const 1600 + i32.store offset=4 + local.get $1 + i32.const 1600 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.store offset=4 - local.get $1 - f64.const 0 - f64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $1 - i32.store offset=12 - local.get $1 + i32.const 1504 + i32.const 28 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store + local.get $1 + i32.const 65 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + i64.const 0 + i64.store offset=8 + local.get $1 + i64.const 0 + i64.store offset=16 + local.get $1 + f32.const 0 + f32.store offset=24 + local.get $1 + f64.const 0 + f64.store offset=32 + local.get $1 + i32.const 0 + i32.store8 offset=40 + local.get $1 + i32.const 0 + i32.store8 offset=41 + local.get $1 + i32.const 0 + i32.store16 offset=42 + local.get $1 + i32.const 0 + i32.store16 offset=44 + local.get $1 + i32.const 0 + i32.store offset=48 + local.get $1 + i32.const 0 + i32.store offset=52 + local.get $1 + f64.const 0 + f64.store offset=56 + local.get $1 + i32.const 0 + i32.store8 offset=64 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + i64.const 0 + i64.store offset=8 + local.get $1 + i64.const 0 + i64.store offset=16 + local.get $1 + f32.const 0 + f32.store offset=24 + local.get $1 + f64.const 0 + f64.store offset=32 + local.get $1 + i32.const 0 + i32.store8 offset=40 + local.get $1 + i32.const 0 + i32.store8 offset=41 + local.get $1 + i32.const 0 + i32.store16 offset=42 + local.get $1 + i32.const 0 + i32.store16 offset=44 + local.get $1 + i32.const 0 + i32.store offset=48 + local.get $1 + i32.const 0 + i32.store offset=52 + local.get $1 + f64.const 0 + f64.store offset=56 + local.get $1 + i32.const 0 + i32.store8 offset=64 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load + if i32.const 0 - i32.store - local.get $1 - i32.const 1632 - i32.store offset=4 - local.get $1 - i32.const 1632 - call $byn-split-outlined-A$~lib/rt/itcms/__link - local.get $1 - f64.const 0 - f64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store - local.get $0 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.load - if - i32.const 0 - i32.const 1504 - i32.const 82 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.load offset=4 - local.tee $2 - i32.store - local.get $0 - i32.const 1632 - i32.store offset=4 - local.get $2 - i32.const 1632 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 83 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f64.load offset=8 - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1504 - i32.const 84 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 + i32.const 1504 + i32.const 57 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=4 + if i32.const 0 - i32.store - local.get $1 - i32.const 40 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - i32.const 1664 - i32.store - local.get $1 - i32.const 1664 - call $byn-split-outlined-A$~lib/rt/itcms/__link - local.get $1 - i32.const 1696 - i32.store offset=4 - local.get $1 - i32.const 1696 - call $byn-split-outlined-A$~lib/rt/itcms/__link - local.get $1 + i32.const 1504 + i32.const 58 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i64.load offset=8 + i64.eqz + i32.eqz + if i32.const 0 - i32.store offset=8 - local.get $1 + i32.const 1504 + i32.const 59 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i64.load offset=16 + i64.eqz + i32.eqz + if i32.const 0 - i32.store offset=12 - local.get $1 + i32.const 1504 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + f32.load offset=24 + f32.const 0 + f32.ne + if i32.const 0 - i32.store offset=16 - local.get $1 + i32.const 1504 + i32.const 61 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + f64.load offset=32 + f64.const 0 + f64.ne + if i32.const 0 - i32.store offset=20 - local.get $1 + i32.const 1504 + i32.const 62 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load8_s offset=40 + if i32.const 0 - i32.store offset=24 - local.get $1 + i32.const 1504 + i32.const 63 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load8_u offset=41 + if i32.const 0 - i32.store offset=28 - local.get $1 + i32.const 1504 + i32.const 64 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load16_s offset=42 + if i32.const 0 - i32.store offset=32 - local.get $1 - i32.const -1 - i32.store offset=36 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 + i32.const 1504 + i32.const 65 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load16_u offset=44 + if i32.const 0 - i32.store offset=8 - local.get $1 + i32.const 1504 + i32.const 66 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=48 + if i32.const 0 - i32.store offset=12 - local.get $1 + i32.const 1504 + i32.const 67 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=52 + if i32.const 0 - i32.store offset=16 - local.get $1 + i32.const 1504 + i32.const 68 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + f64.load offset=56 + f64.const 0 + f64.ne + if i32.const 0 - i32.store offset=20 - local.get $1 + i32.const 1504 + i32.const 69 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load8_u offset=64 + if i32.const 0 - i32.store offset=24 - local.get $1 + i32.const 1504 + i32.const 70 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store + local.get $1 + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + f64.const 0 + f64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.store offset=12 + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 1632 + i32.store offset=4 + local.get $1 + i32.const 1632 + call $byn-split-outlined-A$~lib/rt/itcms/__link + local.get $1 + f64.const 0 + f64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 + i32.load + if + i32.const 0 + i32.const 1504 + i32.const 82 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.load offset=4 + local.tee $2 + i32.store + local.get $0 + i32.const 1632 + i32.store offset=4 + local.get $2 + i32.const 1632 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1504 + i32.const 83 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + f64.load offset=8 + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1504 + i32.const 84 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store + local.get $1 + i32.const 40 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 1664 + i32.store + local.get $1 + i32.const 1664 + call $byn-split-outlined-A$~lib/rt/itcms/__link + local.get $1 + i32.const 1696 + i32.store offset=4 + local.get $1 + i32.const 1696 + call $byn-split-outlined-A$~lib/rt/itcms/__link + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $1 + i32.const 0 + i32.store offset=16 + local.get $1 + i32.const 0 + i32.store offset=20 + local.get $1 + i32.const 0 + i32.store offset=24 + local.get $1 + i32.const 0 + i32.store offset=28 + local.get $1 + i32.const 0 + i32.store offset=32 + local.get $1 + i32.const -1 + i32.store offset=36 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=16 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $1 + i32.const 0 + i32.store offset=16 + local.get $1 + i32.const 0 + i32.store offset=20 + local.get $1 + i32.const 0 + i32.store offset=24 + local.get $1 + i32.const 0 + i32.store offset=28 + local.get $1 + i32.const 0 + i32.store offset=32 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + local.get $1 + i32.load + local.tee $2 + i32.store + local.get $0 + i32.const 1664 + i32.store offset=4 + local.get $2 + i32.const 1664 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1504 + i32.const 107 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.load offset=4 + local.tee $2 + i32.store + local.get $0 + i32.const 1696 + i32.store offset=4 + local.get $2 + i32.const 1696 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.store offset=28 - local.get $1 + i32.const 1504 + i32.const 108 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=8 + local.tee $0 + i32.store + local.get $0 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.store offset=32 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.load - local.tee $2 - i32.store - local.get $0 - i32.const 1664 - i32.store offset=4 - local.get $2 - i32.const 1664 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 107 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.load offset=4 - local.tee $2 - i32.store - local.get $0 - i32.const 1696 - i32.store offset=4 - local.get $2 - i32.const 1696 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 108 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load offset=8 - local.tee $0 - i32.store - local.get $0 + i32.const 1504 + i32.const 109 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=12 + local.tee $0 + i32.store + local.get $0 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load offset=12 - local.tee $0 - i32.store - local.get $0 + i32.const 1504 + i32.const 110 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=16 + local.tee $0 + i32.store + local.get $0 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 110 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load offset=16 - local.tee $0 - i32.store - local.get $0 + i32.const 1504 + i32.const 111 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=20 + local.tee $0 + i32.store + local.get $0 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 111 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load offset=20 - local.tee $0 - i32.store - local.get $0 + i32.const 1504 + i32.const 112 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=24 + local.tee $0 + i32.store + local.get $0 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 112 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load offset=24 - local.tee $0 - i32.store - local.get $0 + i32.const 1504 + i32.const 113 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=28 + local.tee $0 + i32.store + local.get $0 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 113 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load offset=28 - local.tee $0 - i32.store - local.get $0 + i32.const 1504 + i32.const 114 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=32 + if i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 114 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=32 - if - i32.const 0 - i32.const 1504 - i32.const 115 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=36 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1504 - i32.const 116 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 18156 - global.set $~lib/memory/__stack_pointer - global.get $~lib/rt/itcms/state + i32.const 1504 + i32.const 115 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=36 + i32.const -1 + i32.ne + if i32.const 0 - i32.gt_s - if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - if - call $~lib/rt/itcms/step - drop - br $while-continue|0 - end - end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 + i32.const 1504 + i32.const 116 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 18156 + global.set $~lib/memory/__stack_pointer + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|0 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|1 + br $while-continue|0 end end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - return end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return end i32.const 18176 i32.const 18224 diff --git a/tests/compiler/resolve-ternary.release.wat b/tests/compiler/resolve-ternary.release.wat index dfbfe4615c..83fe6f8b18 100644 --- a/tests/compiler/resolve-ternary.release.wat +++ b/tests/compiler/resolve-ternary.release.wat @@ -2447,287 +2447,285 @@ i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 4644 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - memory.size - i32.const 16 - i32.shl - i32.const 21028 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1396 - i32.const 1392 - i32.store - i32.const 1400 - i32.const 1392 - i32.store - i32.const 1392 - global.set $~lib/rt/itcms/pinSpace - i32.const 1428 - i32.const 1424 - i32.store - i32.const 1432 - i32.const 1424 - i32.store - i32.const 1424 - global.set $~lib/rt/itcms/toSpace - i32.const 1572 - i32.const 1568 - i32.store - i32.const 1576 - i32.const 1568 - i32.store - i32.const 1568 - global.set $~lib/rt/itcms/fromSpace - local.get $0 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4644 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer + i32.const 4644 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + memory.size + i32.const 16 + i32.shl + i32.const 21028 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1396 + i32.const 1392 + i32.store + i32.const 1400 + i32.const 1392 + i32.store + i32.const 1392 + global.set $~lib/rt/itcms/pinSpace + i32.const 1428 + i32.const 1424 + i32.store + i32.const 1432 + i32.const 1424 + i32.store + i32.const 1424 + global.set $~lib/rt/itcms/toSpace + i32.const 1572 + i32.const 1568 + i32.store + i32.const 1576 + i32.const 1568 + i32.store + i32.const 1568 + global.set $~lib/rt/itcms/fromSpace + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4644 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + i32.const 1 + i32.const 1 + call $~lib/util/number/utoa32_dec_lut + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3232 + i32.store offset=4 + local.get $0 + i32.const 3232 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.store - local.get $0 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 1 + i32.const 3264 + i32.const 5 i32.const 1 - call $~lib/util/number/utoa32_dec_lut - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3232 - i32.store offset=4 - local.get $0 - i32.const 3232 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 3264 - i32.const 5 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4644 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4644 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const -4 + global.set $~lib/util/number/_K + i32.const 3880 + i64.load + global.set $~lib/util/number/_frc_pow + i32.const 4312 + i32.load16_s + global.set $~lib/util/number/_exp_pow + global.get $~lib/util/number/_frc_pow + local.tee $2 + i64.const 4294967295 + i64.and + local.tee $3 + i64.const 31 + i64.shl + local.set $1 + local.get $2 + i64.const 32 + i64.shr_u + local.tee $2 + i64.const 31 + i64.shl + local.get $1 + i64.const 32 + i64.shr_u + i64.add + local.get $1 + i64.const 4294967295 + i64.and + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + local.get $2 + i64.const 31 + i64.shl + local.get $3 + i64.const 31 + i64.shl + local.get $3 + i64.const 10 + i64.shl + i64.const 32 + i64.shr_u + i64.add + local.tee $1 + i64.const 32 + i64.shr_u + i64.add + local.get $1 + i64.const 4294967295 + i64.and + local.get $2 + i64.const 10 + i64.shl + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + i64.const 1 + i64.sub + local.tee $1 + global.get $~lib/util/number/_exp_pow + i32.const 1 + i32.add + local.get $1 + local.get $2 + i64.const 2147483647 + i64.mul + local.get $3 + i64.const 2147483647 + i64.mul + local.get $3 + i64.const 4294966784 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.tee $1 + i64.const 32 + i64.shr_u + i64.add + local.get $2 + i64.const 4294966784 + i64.mul + local.get $1 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + i64.const 1 + i64.add + i64.sub + call $~lib/util/number/genDigits + global.get $~lib/util/number/_K + call $~lib/util/number/prettify + i32.const 1 + i32.shl + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + local.get $4 + i32.const 3472 + local.get $0 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store + local.get $0 + i32.const 4464 + i32.store offset=4 + local.get $4 + i32.const 4464 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.store - i32.const -4 - global.set $~lib/util/number/_K - i32.const 3880 - i64.load - global.set $~lib/util/number/_frc_pow - i32.const 4312 - i32.load16_s - global.set $~lib/util/number/_exp_pow - global.get $~lib/util/number/_frc_pow - local.tee $2 - i64.const 4294967295 - i64.and - local.tee $3 - i64.const 31 - i64.shl - local.set $1 - local.get $2 - i64.const 32 - i64.shr_u - local.tee $2 - i64.const 31 - i64.shl - local.get $1 - i64.const 32 - i64.shr_u - i64.add - local.get $1 - i64.const 4294967295 - i64.and - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u - i64.add - local.get $2 - i64.const 31 - i64.shl - local.get $3 - i64.const 31 - i64.shl - local.get $3 - i64.const 10 - i64.shl - i64.const 32 - i64.shr_u - i64.add - local.tee $1 - i64.const 32 - i64.shr_u - i64.add - local.get $1 - i64.const 4294967295 - i64.and - local.get $2 - i64.const 10 - i64.shl - i64.add - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u - i64.add - i64.const 1 - i64.sub - local.tee $1 - global.get $~lib/util/number/_exp_pow + i32.const 3264 + i32.const 13 i32.const 1 - i32.add - local.get $1 - local.get $2 - i64.const 2147483647 - i64.mul - local.get $3 - i64.const 2147483647 - i64.mul - local.get $3 - i64.const 4294966784 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $1 - i64.const 32 - i64.shr_u - i64.add - local.get $2 - i64.const 4294966784 - i64.mul - local.get $1 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u - i64.add - i64.const 1 - i64.add - i64.sub - call $~lib/util/number/genDigits - global.get $~lib/util/number/_K - call $~lib/util/number/prettify - i32.const 1 - i32.shl - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - local.get $4 - i32.const 3472 - local.get $0 - memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store - local.get $0 - i32.const 4464 - i32.store offset=4 - local.get $4 - i32.const 4464 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 3264 - i32.const 13 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 4496 + i32.load + call_indirect $0 (type $i32_=>_i32) + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 3264 + i32.const 24 i32.const 1 - i32.const 4496 - i32.load - call_indirect $0 (type $i32_=>_i32) - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 3264 - i32.const 24 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 4560 + i32.load + call_indirect $0 (type $i32_=>_i32) + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 3264 + i32.const 35 i32.const 1 - i32.const 4560 - i32.load - call_indirect $0 (type $i32_=>_i32) - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 3264 - i32.const 35 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 4528 + i32.load + call_indirect $0 (type $i32_=>_i32) + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 3264 + i32.const 43 i32.const 1 - i32.const 4528 - i32.load - call_indirect $0 (type $i32_=>_i32) - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 3264 - i32.const 43 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - return + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return end i32.const 21056 i32.const 21104 diff --git a/tests/compiler/std-wasi/crypto.release.wat b/tests/compiler/std-wasi/crypto.release.wat index d882be8559..258bea7b46 100644 --- a/tests/compiler/std-wasi/crypto.release.wat +++ b/tests/compiler/std-wasi/crypto.release.wat @@ -427,12 +427,10 @@ i32.const 12 i64.const 9071471065260641 i64.store + i32.const 0 + i32.const 1 local.get $0 - if (result i32) - i32.const 0 - else - i32.const 1 - end + select if (result i32) i32.const 19 else @@ -459,12 +457,10 @@ i32.const 4 i32.add local.set $0 + i32.const 0 + i32.const 1 local.get $1 - if (result i32) - i32.const 0 - else - i32.const 1 - end + select i32.eqz if local.get $1 @@ -2695,319 +2691,317 @@ i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 6900 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 6900 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/string/joinIntegerArray + local.get $0 + i32.const 1 + i32.sub + local.tee $5 i32.const 0 - i32.store - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 - i32.const 1 - i32.sub - local.tee $5 - i32.const 0 - i32.lt_s - if + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 4848 + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + local.get $5 + i32.eqz + if + block $__inlined_func$~lib/util/number/utoa32 (result i32) + local.get $6 + i32.load8_u + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 - i32.add + i32.sub global.set $~lib/memory/__stack_pointer - i32.const 4848 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $5 - i32.eqz - if - block $__inlined_func$~lib/util/number/utoa32 (result i32) - local.get $6 - i32.load8_u - local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 6900 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.eqz + if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 6900 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i32.const 5072 + br $__inlined_func$~lib/util/number/utoa32 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 100000 + i32.lt_u + if (result i32) local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 100 + i32.lt_u + if (result i32) + local.get $2 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $2 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $2 + i32.const 1000 + i32.ge_u i32.add - global.set $~lib/memory/__stack_pointer - i32.const 5072 - br $__inlined_func$~lib/util/number/utoa32 end - global.get $~lib/memory/__stack_pointer + else local.get $2 - i32.const 100000 + i32.const 10000000 i32.lt_u if (result i32) local.get $2 - i32.const 100 - i32.lt_u - if (result i32) - local.get $2 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $2 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $2 - i32.const 1000 - i32.ge_u - i32.add - end + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add else local.get $2 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $2 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $2 - i32.const 100000000 - i32.ge_u - i32.add - end + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $2 + i32.const 100000000 + i32.ge_u + i32.add end - local.tee $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa32_dec_lut - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 end - local.set $0 + local.tee $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa32_dec_lut global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + local.get $0 end + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 6652 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 10 - i32.add - i32.mul - i32.const 10 + i32.const 4 i32.add - local.tee $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - i32.const 0 - local.set $0 - loop $for-loop|0 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 6652 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 10 + i32.add + i32.mul + i32.const 10 + i32.add + local.tee $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $2 + i32.const 1 + i32.shl + local.get $1 + i32.add local.get $0 - local.get $5 - i32.lt_s + local.get $6 + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $4 if local.get $2 i32.const 1 i32.shl local.get $1 i32.add - local.get $0 - local.get $6 - i32.add - i32.load8_u - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.set $2 + i32.const 6656 local.get $4 - if - local.get $2 - i32.const 1 - i32.shl - local.get $1 - i32.add - i32.const 6656 - local.get $4 - i32.const 1 - i32.shl - memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $0 i32.const 1 + i32.shl + memory.copy + local.get $2 + local.get $4 i32.add - local.set $0 - br $for-loop|0 + local.set $2 end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 end - local.get $2 - i32.const 1 - i32.shl - local.get $1 - i32.add - local.get $5 - local.get $6 - i32.add - i32.load8_u - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add + end + local.get $2 + i32.const 1 + i32.shl + local.get $1 + i32.add + local.get $5 + local.get $6 + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 6900 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 0 + local.get $0 + i32.const 0 + local.get $0 + i32.const 0 + i32.gt_s + select local.tee $0 - local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $4 + local.get $0 + local.get $4 i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 6900 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + select + local.tee $0 + local.get $0 + i32.const 0 + i32.gt_s + select + i32.const 1 + i32.shl + local.set $3 + block $__inlined_func$~lib/string/String#substring i32.const 0 local.get $0 - i32.const 0 local.get $0 i32.const 0 - i32.gt_s - select - local.tee $0 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - local.get $0 - local.get $4 i32.lt_s select - local.tee $0 - local.get $0 - i32.const 0 - i32.gt_s - select i32.const 1 i32.shl - local.set $3 - block $__inlined_func$~lib/string/String#substring - i32.const 0 - local.get $0 - local.get $0 - i32.const 0 - i32.lt_s - select - i32.const 1 - i32.shl - local.tee $0 - local.get $3 - i32.sub - local.tee $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 4848 - local.set $0 - br $__inlined_func$~lib/string/String#substring - end - i32.const 0 - local.get $4 - i32.const 1 - i32.shl - local.get $0 - i32.eq - local.get $3 - select - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 - br $__inlined_func$~lib/string/String#substring - end + local.tee $0 + local.get $3 + i32.sub + local.tee $2 + i32.eqz + if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $1 - local.get $3 + i32.const 4 i32.add - local.get $2 - memory.copy + global.set $~lib/memory/__stack_pointer + i32.const 4848 + local.set $0 + br $__inlined_func$~lib/string/String#substring + end + i32.const 0 + local.get $4 + i32.const 1 + i32.shl + local.get $0 + i32.eq + local.get $3 + select + if global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 + br $__inlined_func$~lib/string/String#substring end global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $1 + local.get $3 + i32.add + local.get $2 + memory.copy + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $0 - return + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 end + local.get $0 + return end i32.const 23312 i32.const 23360 diff --git a/tests/compiler/std-wasi/process.release.wat b/tests/compiler/std-wasi/process.release.wat index 412b4d7124..9eb9e9d140 100644 --- a/tests/compiler/std-wasi/process.release.wat +++ b/tests/compiler/std-wasi/process.release.wat @@ -3911,826 +3911,824 @@ i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 7404 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store + global.get $~lib/memory/__stack_pointer + i32.const 7404 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store + local.get $3 + i32.const 0 + i32.store offset=8 + local.get $3 + i32.const 1056 + i32.store + i32.const 1056 + call $~lib/console/console.log + global.get $~lib/memory/__stack_pointer + i32.const 4448 + i32.store + i32.const 4448 + call $~lib/console/console.log + global.get $~lib/memory/__stack_pointer + i32.const 4480 + i32.store + i32.const 4480 + call $~lib/console/console.log + global.get $~lib/memory/__stack_pointer + i32.const 4528 + i32.store + i32.const 4528 + call $~lib/console/console.log + memory.size + i32.const 16 + i32.shl + i32.const 23788 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 4708 + i32.const 4704 + i32.store + i32.const 4712 + i32.const 4704 + i32.store + i32.const 4704 + global.set $~lib/rt/itcms/pinSpace + i32.const 4740 + i32.const 4736 + i32.store + i32.const 4744 + i32.const 4736 + i32.store + i32.const 4736 + global.set $~lib/rt/itcms/toSpace + i32.const 4884 + i32.const 4880 + i32.store + i32.const 4888 + i32.const 4880 + i32.store + i32.const 4880 + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7404 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 1088 + i32.const 1092 + call $~lib/bindings/wasi_snapshot_preview1/args_sizes_get + local.tee $3 + i32.const 65535 + i32.and + if local.get $3 - i32.const 0 - i32.store offset=8 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4224 + i32.const 89 + i32.const 14 + call $~lib/wasi/index/abort + unreachable + end + i32.const 1088 + i32.load + local.tee $3 + i32.const 2 + i32.shl + local.tee $4 + i32.const 1092 + i32.load + i32.add + local.set $5 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $5 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $6 + local.get $4 + local.get $6 + i32.add + call $~lib/bindings/wasi_snapshot_preview1/args_get + local.tee $4 + i32.const 65535 + i32.and + if + local.get $4 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4224 + i32.const 96 + i32.const 14 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/array/Array<~lib/string/String>#constructor + local.tee $4 + i32.store + loop $for-loop|0 + local.get $0 local.get $3 - i32.const 1056 - i32.store - i32.const 1056 - call $~lib/console/console.log - global.get $~lib/memory/__stack_pointer - i32.const 4448 - i32.store - i32.const 4448 - call $~lib/console/console.log - global.get $~lib/memory/__stack_pointer - i32.const 4480 - i32.store - i32.const 4480 - call $~lib/console/console.log - global.get $~lib/memory/__stack_pointer - i32.const 4528 - i32.store - i32.const 4528 - call $~lib/console/console.log - memory.size - i32.const 16 - i32.shl - i32.const 23788 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 4708 - i32.const 4704 - i32.store - i32.const 4712 - i32.const 4704 - i32.store - i32.const 4704 - global.set $~lib/rt/itcms/pinSpace - i32.const 4740 - i32.const 4736 - i32.store - i32.const 4744 - i32.const 4736 - i32.store - i32.const 4736 - global.set $~lib/rt/itcms/toSpace - i32.const 4884 - i32.const 4880 - i32.store - i32.const 4888 - i32.const 4880 - i32.store - i32.const 4880 - global.set $~lib/rt/itcms/fromSpace - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7404 i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - i32.const 1088 - i32.const 1092 - call $~lib/bindings/wasi_snapshot_preview1/args_sizes_get - local.tee $3 - i32.const 65535 - i32.and if - local.get $3 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4224 - i32.const 89 - i32.const 14 - call $~lib/wasi/index/abort - unreachable - end - i32.const 1088 - i32.load - local.tee $3 - i32.const 2 - i32.shl - local.tee $4 - i32.const 1092 - i32.load - i32.add - local.set $5 - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2 + i32.shl + local.get $6 + i32.add + i32.load + local.tee $7 + local.get $5 + local.get $7 + i32.add + local.get $6 + i32.sub + call $~lib/string/String.UTF8.decodeUnsafe + local.tee $7 + i32.store offset=4 + local.get $4 + local.get $0 + local.get $7 + call $~lib/array/Array<~lib/string/String>#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 end - global.get $~lib/rt/tlsf/ROOT - local.get $5 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $6 - local.get $4 - local.get $6 - i32.add - call $~lib/bindings/wasi_snapshot_preview1/args_get - local.tee $4 - i32.const 65535 - i32.and + end + local.get $6 + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + global.set $~lib/process/process.argv + global.get $~lib/process/process.argv + global.set $std-wasi/process/argv + global.get $~lib/memory/__stack_pointer + i32.const 4928 + i32.store + i32.const 4928 + call $~lib/console/console.log + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/process/argv + local.tee $3 + i32.store + local.get $3 + i32.load offset=12 + local.set $3 + loop $for-loop|01 + local.get $0 + local.get $3 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/process/argv + local.tee $4 + i32.store offset=4 local.get $4 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4224 - i32.const 96 - i32.const 14 - call $~lib/wasi/index/abort - unreachable + local.get $0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/console/console.log + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|01 end - global.get $~lib/memory/__stack_pointer + end + call $~lib/process/lazyEnv + global.set $~lib/process/process.env + global.get $~lib/process/process.env + global.set $std-wasi/process/env + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std-wasi/process/env + local.tee $3 + i32.store + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7404 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $3 + i32.load offset=8 + local.set $4 + local.get $0 + local.get $3 + i32.load offset=16 + local.tee $3 + call $~lib/array/Array<~lib/string/String>#constructor + local.tee $5 + i32.store + i32.const 0 + local.set $0 + loop $for-loop|02 + local.get $2 local.get $3 - call $~lib/array/Array<~lib/string/String>#constructor - local.tee $4 - i32.store - loop $for-loop|0 - local.get $0 - local.get $3 - i32.lt_s + i32.lt_s + if + local.get $2 + i32.const 12 + i32.mul + local.get $4 + i32.add + local.tee $6 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - i32.shl local.get $6 - i32.add i32.load - local.tee $7 - local.get $5 - local.get $7 - i32.add - local.get $6 - i32.sub - call $~lib/string/String.UTF8.decodeUnsafe - local.tee $7 + local.tee $6 i32.store offset=4 - local.get $4 + local.get $5 local.get $0 - local.get $7 + local.get $6 call $~lib/array/Array<~lib/string/String>#__set local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|0 end - end - local.get $6 - call $~lib/rt/tlsf/__free - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - global.set $~lib/process/process.argv - global.get $~lib/process/process.argv - global.set $std-wasi/process/argv - global.get $~lib/memory/__stack_pointer - i32.const 4928 - i32.store - i32.const 4928 - call $~lib/console/console.log - i32.const 0 - local.set $0 - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/process/argv - local.tee $3 - i32.store - local.get $3 - i32.load offset=12 - local.set $3 - loop $for-loop|01 - local.get $0 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/process/argv - local.tee $4 - i32.store offset=4 - local.get $4 - local.get $0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/console/console.log - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|01 - end - end - call $~lib/process/lazyEnv - global.set $~lib/process/process.env - global.get $~lib/process/process.env - global.set $std-wasi/process/env - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std-wasi/process/env - local.tee $3 - i32.store - local.get $0 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7404 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $3 - i32.load offset=8 - local.set $4 - local.get $0 - local.get $3 - i32.load offset=16 - local.tee $3 - call $~lib/array/Array<~lib/string/String>#constructor - local.tee $5 - i32.store - i32.const 0 - local.set $0 - loop $for-loop|02 local.get $2 - local.get $3 - i32.lt_s - if - local.get $2 - i32.const 12 - i32.mul - local.get $4 - i32.add - local.tee $6 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.load - local.tee $6 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $6 - call $~lib/array/Array<~lib/string/String>#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|02 - end + i32.const 1 + i32.add + local.set $2 + br $for-loop|02 end - local.get $5 - local.get $0 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $5 + end + local.get $5 + local.get $0 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $5 + local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + global.set $std-wasi/process/envKeys + global.get $~lib/memory/__stack_pointer + i32.const 5232 + i32.store + i32.const 5232 + call $~lib/console/console.log + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/process/envKeys + local.tee $2 + i32.store + local.get $2 + i32.load offset=12 + local.set $2 + loop $for-loop|1 local.get $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - global.set $std-wasi/process/envKeys - global.get $~lib/memory/__stack_pointer - i32.const 5232 - i32.store - i32.const 5232 - call $~lib/console/console.log - i32.const 0 - local.set $0 - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/process/envKeys - local.tee $2 - i32.store local.get $2 - i32.load offset=12 - local.set $2 - loop $for-loop|1 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + global.get $std-wasi/process/envKeys + local.tee $4 + i32.store + local.get $3 + local.get $4 local.get $0 - local.get $2 - i32.lt_s + call $~lib/array/Array<~lib/string/String>#__get + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5280 + i32.store offset=4 + i32.const 5280 + call $~lib/process/writeString + local.get $3 + call $~lib/console/console.log + global.get $~lib/memory/__stack_pointer + i32.const 5312 + i32.store offset=4 + i32.const 5312 + call $~lib/process/writeString + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/process/env + local.tee $4 + i32.store offset=4 + local.get $4 + local.get $3 + local.get $3 + call $~lib/util/hash/HASH<~lib/string/String> + call $~lib/map/Map<~lib/string/String,~lib/string/String>#find + local.tee $3 + i32.eqz if - global.get $~lib/memory/__stack_pointer - local.tee $3 - global.get $std-wasi/process/envKeys - local.tee $4 - i32.store - local.get $3 - local.get $4 - local.get $0 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 5280 - i32.store offset=4 - i32.const 5280 - call $~lib/process/writeString - local.get $3 - call $~lib/console/console.log - global.get $~lib/memory/__stack_pointer - i32.const 5312 - i32.store offset=4 - i32.const 5312 - call $~lib/process/writeString - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/process/env - local.tee $4 - i32.store offset=4 - local.get $4 - local.get $3 - local.get $3 - call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,~lib/string/String>#find - local.tee $3 - i32.eqz - if - i32.const 5344 - i32.const 5408 - i32.const 105 - i32.const 17 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load offset=4 - local.tee $3 - i32.store - local.get $3 - call $~lib/console/console.log - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 + i32.const 5344 + i32.const 5408 + i32.const 105 + i32.const 17 + call $~lib/wasi/index/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load offset=4 + local.tee $3 + i32.store + local.get $3 + call $~lib/console/console.log + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 end + end + global.get $~lib/memory/__stack_pointer + i32.const 5456 + i32.store + i32.const 5456 + call $~lib/console/console.log + i32.const 0 + i64.const 1000000 + i32.const 1088 + call $~lib/bindings/wasi_snapshot_preview1/clock_time_get + local.tee $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4224 + i32.const 65 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end + block $__inlined_func$~lib/util/number/itoa64 (result i32) + i32.const 1088 + i64.load + i64.const 1000000 + i64.div_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7404 + i32.lt_s + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 5456 - i32.store - i32.const 5456 - call $~lib/console/console.log i32.const 0 - i64.const 1000000 - i32.const 1088 - call $~lib/bindings/wasi_snapshot_preview1/clock_time_get - local.tee $0 - i32.const 65535 - i32.and + i32.store + local.get $1 + i64.eqz if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4224 - i32.const 65 - i32.const 16 - call $~lib/wasi/index/abort - unreachable - end - block $__inlined_func$~lib/util/number/itoa64 (result i32) - i32.const 1088 - i64.load - i64.const 1000000 - i64.div_u - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer + i32.const 5696 + br $__inlined_func$~lib/util/number/itoa64 + end + i64.const 0 + local.get $1 + i64.sub + local.get $1 + local.get $1 + i64.const 63 + i64.shr_u + i32.wrap_i64 + i32.const 1 + i32.shl + local.tee $2 + select + local.tee $1 + i64.const 4294967295 + i64.le_u + if global.get $~lib/memory/__stack_pointer - i32.const 7404 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 5696 - br $__inlined_func$~lib/util/number/itoa64 - end - i64.const 0 - local.get $1 - i64.sub - local.get $1 + local.get $2 local.get $1 - i64.const 63 - i64.shr_u i32.wrap_i64 - i32.const 1 - i32.shl - local.tee $2 - select - local.tee $1 - i64.const 4294967295 - i64.le_u - if - global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $1 - i32.wrap_i64 - local.tee $3 - i32.const 100000 + local.tee $3 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $3 + i32.const 100 i32.lt_u if (result i32) local.get $3 - i32.const 100 - i32.lt_u - if (result i32) - local.get $3 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $3 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $3 - i32.const 1000 - i32.ge_u - i32.add - end + i32.const 10 + i32.ge_u + i32.const 1 + i32.add else local.get $3 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $3 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $3 - i32.const 100000000 - i32.ge_u - i32.add - end + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $3 + i32.const 1000 + i32.ge_u + i32.add end - local.tee $4 - i32.const 1 - i32.shl - i32.add - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $2 - i32.add - local.get $3 - local.get $4 - call $~lib/util/number/utoa32_dec_lut else - global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $3 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $3 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $3 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.tee $4 + i32.const 1 + i32.shl + i32.add + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $2 + i32.add + local.get $3 + local.get $4 + call $~lib/util/number/utoa32_dec_lut + else + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $1 + i64.const 1000000000000000 + i64.lt_u + if (result i32) local.get $1 - i64.const 1000000000000000 + i64.const 1000000000000 i64.lt_u if (result i32) local.get $1 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $1 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $1 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $1 - i64.const 10000000000000 - i64.ge_u - i32.add - end + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $1 + i64.const 10000000000 + i64.ge_u + i32.add else local.get $1 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $1 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $1 - i64.const 1000000000000000000 - i64.ge_u - i32.add - end + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $1 + i64.const 10000000000000 + i64.ge_u + i32.add end - local.tee $3 - i32.const 1 - i32.shl - i32.add - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $2 - i32.add + else local.get $1 - local.get $3 - call $~lib/util/number/utoa64_dec_lut + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $1 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $1 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $1 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end end + local.tee $3 + i32.const 1 + i32.shl + i32.add + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 local.get $2 - if - local.get $0 - i32.const 45 - i32.store16 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $3 + call $~lib/util/number/utoa64_dec_lut + end + local.get $2 + if local.get $0 + i32.const 45 + i32.store16 end - local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store + end + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/console/console.log + global.get $~lib/memory/__stack_pointer + i32.const 7280 + i32.store + i32.const 7280 + call $~lib/console/console.log + i32.const 1 + i64.const 0 + i32.const 1088 + call $~lib/bindings/wasi_snapshot_preview1/clock_time_get + local.tee $0 + i32.const 65535 + i32.and + if local.get $0 - call $~lib/console/console.log - global.get $~lib/memory/__stack_pointer - i32.const 7280 - i32.store - i32.const 7280 - call $~lib/console/console.log - i32.const 1 - i64.const 0 - i32.const 1088 - call $~lib/bindings/wasi_snapshot_preview1/clock_time_get - local.tee $0 - i32.const 65535 - i32.and + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4224 + i32.const 75 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end + i32.const 1088 + i64.load + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7404 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/number/utoa64 + local.get $1 + i64.eqz if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4224 - i32.const 75 - i32.const 16 - call $~lib/wasi/index/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 5696 + local.set $0 + br $__inlined_func$~lib/util/number/utoa64 end - i32.const 1088 - i64.load - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7404 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/util/number/utoa64 - local.get $1 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 5696 - local.set $0 - br $__inlined_func$~lib/util/number/utoa64 - end + local.get $1 + i64.const 4294967295 + i64.le_u + if + global.get $~lib/memory/__stack_pointer local.get $1 - i64.const 4294967295 - i64.le_u - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.wrap_i64 - local.tee $2 - i32.const 100000 + i32.wrap_i64 + local.tee $2 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $2 + i32.const 100 i32.lt_u if (result i32) local.get $2 - i32.const 100 - i32.lt_u - if (result i32) - local.get $2 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $2 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $2 - i32.const 1000 - i32.ge_u - i32.add - end + i32.const 10 + i32.ge_u + i32.const 1 + i32.add else local.get $2 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $2 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $2 - i32.const 100000000 - i32.ge_u - i32.add - end + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $2 + i32.const 1000 + i32.ge_u + i32.add end - local.tee $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $2 - local.get $3 - call $~lib/util/number/utoa32_dec_lut else - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $2 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $2 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $2 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.tee $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $2 + local.get $3 + call $~lib/util/number/utoa32_dec_lut + else + global.get $~lib/memory/__stack_pointer + local.get $1 + i64.const 1000000000000000 + i64.lt_u + if (result i32) local.get $1 - i64.const 1000000000000000 + i64.const 1000000000000 i64.lt_u if (result i32) local.get $1 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $1 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $1 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $1 - i64.const 10000000000000 - i64.ge_u - i32.add - end + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $1 + i64.const 10000000000 + i64.ge_u + i32.add else local.get $1 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $1 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $1 - i64.const 1000000000000000000 - i64.ge_u - i32.add - end + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $1 + i64.const 10000000000000 + i64.ge_u + i32.add end - local.tee $2 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 + else local.get $1 - local.get $2 - call $~lib/util/number/utoa64_dec_lut + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $1 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $1 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $1 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/console/console.log - global.get $~lib/memory/__stack_pointer - i32.const 7328 - i32.store - i32.const 7328 - call $~lib/console/console.log - i32.const 42 - call $~lib/bindings/wasi_snapshot_preview1/proc_exit - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.set $2 - i32.const 1088 - local.get $0 - i32.store - i32.const 1092 - local.get $2 - i32.store - i32.const 0 - i32.const 1088 - i32.const 1 - i32.const 1096 - call $~lib/bindings/wasi_snapshot_preview1/fd_read - local.tee $0 - i32.const 65535 - i32.and - if + local.tee $2 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4224 - i32.const 173 - i32.const 14 - call $~lib/wasi/index/abort - unreachable + local.get $1 + local.get $2 + call $~lib/util/number/utoa64_dec_lut end - i32.const 1096 - i32.load - drop global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - return end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/console/console.log + global.get $~lib/memory/__stack_pointer + i32.const 7328 + i32.store + i32.const 7328 + call $~lib/console/console.log + i32.const 42 + call $~lib/bindings/wasi_snapshot_preview1/proc_exit + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.set $2 + i32.const 1088 + local.get $0 + i32.store + i32.const 1092 + local.get $2 + i32.store + i32.const 0 + i32.const 1088 + i32.const 1 + i32.const 1096 + call $~lib/bindings/wasi_snapshot_preview1/fd_read + local.tee $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4224 + i32.const 173 + i32.const 14 + call $~lib/wasi/index/abort + unreachable + end + i32.const 1096 + i32.load + drop + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return end i32.const 23808 i32.const 23856 diff --git a/tests/compiler/std/math.release.wat b/tests/compiler/std/math.release.wat index 4c39a4c089..5ce9ef5e4d 100644 --- a/tests/compiler/std/math.release.wat +++ b/tests/compiler/std/math.release.wat @@ -3968,7 +3968,7 @@ i32.sub i32.const 49 i32.gt_u - if (result f64) + if local.get $7 f64.const 8.4784276603689e-32 f64.mul @@ -3988,10 +3988,8 @@ local.get $0 local.get $2 f64.sub - else - local.get $1 + local.set $1 end - local.set $1 end local.get $1 global.set $~lib/math/rempio2_y0 @@ -8333,21 +8331,19 @@ i32.and local.set $2 end + local.get $0 + f32.const 8388608 + f32.mul + i32.reinterpret_f32 + i32.const 2147483647 + i32.and + i32.const 192937984 + i32.sub + local.get $2 local.get $2 i32.const 8388608 i32.lt_u - if (result i32) - local.get $0 - f32.const 8388608 - f32.mul - i32.reinterpret_f32 - i32.const 2147483647 - i32.and - i32.const 192937984 - i32.sub - else - local.get $2 - end + select local.set $2 end local.get $2 @@ -9391,7 +9387,7 @@ i32.sub i32.const 49 i32.gt_u - if (result f64) + if local.get $7 f64.const 8.4784276603689e-32 f64.mul @@ -9411,10 +9407,8 @@ local.get $0 local.get $2 f64.sub - else - local.get $1 + local.set $1 end - local.set $1 end local.get $1 global.set $~lib/math/rempio2_y0 @@ -10556,7 +10550,7 @@ i32.sub i32.const 49 i32.gt_u - if (result f64) + if local.get $4 f64.const 8.4784276603689e-32 f64.mul @@ -10576,10 +10570,8 @@ local.get $0 local.get $5 f64.sub - else - local.get $1 + local.set $1 end - local.set $1 end local.get $1 global.set $~lib/math/rempio2_y0 @@ -11450,7 +11442,7 @@ i32.sub i32.const 49 i32.gt_u - if (result f64) + if local.get $7 f64.const 8.4784276603689e-32 f64.mul @@ -11470,10 +11462,8 @@ local.get $0 local.get $1 f64.sub - else - local.get $2 + local.set $2 end - local.set $2 end local.get $2 global.set $~lib/math/rempio2_y0 diff --git a/tests/compiler/std/string-encoding.release.wat b/tests/compiler/std/string-encoding.release.wat index 4862d6ad96..3815009844 100644 --- a/tests/compiler/std/string-encoding.release.wat +++ b/tests/compiler/std/string-encoding.release.wat @@ -1667,953 +1667,951 @@ i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 22620 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer + i32.const 22620 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22620 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 1056 + i32.store + i32.const 1052 + i32.load + i32.const 12 + i32.ne + if i32.const 0 - i32.store - local.get $0 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22620 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 + i32.const 1088 + i32.const 8 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + memory.size + i32.const 16 + i32.shl + i32.const 39004 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1268 + i32.const 1264 + i32.store + i32.const 1272 + i32.const 1264 + i32.store + i32.const 1264 + global.set $~lib/rt/itcms/pinSpace + i32.const 1300 + i32.const 1296 + i32.store + i32.const 1304 + i32.const 1296 + i32.store + i32.const 1296 + global.set $~lib/rt/itcms/toSpace + i32.const 1444 + i32.const 1440 + i32.store + i32.const 1448 + i32.const 1440 + i32.store + i32.const 1440 + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22620 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + i32.const 1056 + i32.store + local.get $0 + i32.const 1056 + call $~lib/string/String.UTF16.encode + local.tee $0 + i32.store offset=4 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 12 + i32.ne + if i32.const 0 - i32.store - local.get $0 - i32.const 1056 - i32.store - i32.const 1052 - i32.load - i32.const 12 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 8 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - memory.size + i32.const 1088 + i32.const 15 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1088 i32.const 16 - i32.shl - i32.const 39004 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1268 - i32.const 1264 - i32.store - i32.const 1272 - i32.const 1264 - i32.store - i32.const 1264 - global.set $~lib/rt/itcms/pinSpace - i32.const 1300 - i32.const 1296 - i32.store - i32.const 1304 - i32.const 1296 - i32.store - i32.const 1296 - global.set $~lib/rt/itcms/toSpace - i32.const 1444 - i32.const 1440 - i32.store - i32.const 1448 - i32.const 1440 - i32.store - i32.const 1440 - global.set $~lib/rt/itcms/fromSpace - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22620 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $0 - i32.const 1056 - i32.store - local.get $0 - i32.const 1056 - call $~lib/string/String.UTF16.encode - local.tee $0 - i32.store offset=4 - local.get $0 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=1 + i32.const 216 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 17 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=2 + i32.const 55 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 18 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=3 + i32.const 220 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 19 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=4 + i32.const 104 + i32.ne + if + i32.const 0 + i32.const 1088 i32.const 20 - i32.sub - i32.load offset=16 - i32.const 12 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 15 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 16 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=1 - i32.const 216 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 17 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=2 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=5 + if + i32.const 0 + i32.const 1088 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=6 + i32.const 105 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 22 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=7 + if + i32.const 0 + i32.const 1088 + i32.const 23 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=8 + i32.const 82 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 24 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=9 + i32.const 216 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 25 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=10 + i32.const 98 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 26 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=11 + i32.const 223 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 27 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22620 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 1056 + i32.store + local.get $0 + i32.const 1056 + call $~lib/string/String.UTF16.encode + local.tee $0 + i32.store offset=4 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store offset=8 + local.get $0 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 33 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + call $std/string-encoding/testUTF16DecodeUnsafe + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22620 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 1056 + i32.store + i32.const 1056 + i32.const 0 + call $~lib/string/String.UTF8.byteLength + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 1088 i32.const 55 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 18 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=3 - i32.const 220 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 19 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=4 - i32.const 104 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 20 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=5 - if - i32.const 0 - i32.const 1088 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=6 - i32.const 105 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 22 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=7 - if - i32.const 0 - i32.const 1088 - i32.const 23 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=8 - i32.const 82 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 24 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=9 - i32.const 216 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 25 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=10 - i32.const 98 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 26 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=11 - i32.const 223 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 27 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22620 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $0 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 1056 + i32.const 1 + call $~lib/string/String.UTF8.byteLength + i32.const 11 + i32.ne + if i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 1056 - i32.store - local.get $0 - i32.const 1056 - call $~lib/string/String.UTF16.encode - local.tee $0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=8 - local.get $0 - i32.const 1056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 33 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - call $std/string-encoding/testUTF16DecodeUnsafe - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22620 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 + i32.const 1088 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22620 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + i32.const 1056 + i32.store + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 1056 + i32.const 0 + call $~lib/string/String.UTF8.encode@varargs + local.tee $0 + i32.store offset=4 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 10 + i32.ne + if i32.const 0 - i32.store - local.get $0 - i32.const 1056 - i32.store - i32.const 1056 + i32.const 1088 + i32.const 63 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u + i32.const 240 + i32.ne + if i32.const 0 - call $~lib/string/String.UTF8.byteLength - i32.const 10 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 55 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store - i32.const 1056 - i32.const 1 - call $~lib/string/String.UTF8.byteLength - i32.const 11 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22620 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $0 - i32.const 1056 - i32.store - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 1056 + i32.const 1088 + i32.const 64 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=1 + i32.const 144 + i32.ne + if i32.const 0 - call $~lib/string/String.UTF8.encode@varargs - local.tee $0 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 10 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 63 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u - i32.const 240 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 64 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=1 - i32.const 144 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 65 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=2 - i32.const 144 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 66 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=3 - i32.const 183 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 67 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=4 - i32.const 104 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 68 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=5 - i32.const 105 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 69 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=6 - i32.const 240 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 70 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=7 - i32.const 164 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 71 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=8 - i32.const 173 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 72 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load8_u offset=9 - i32.const 162 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 73 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - call $std/string-encoding/testUTF8EncodeNullTerminated - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22620 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $0 + i32.const 1088 + i32.const 65 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=2 + i32.const 144 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 66 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=3 + i32.const 183 + i32.ne + if i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 1904 - i32.store offset=4 - i32.const 1904 + i32.const 1088 + i32.const 67 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=4 + i32.const 104 + i32.ne + if i32.const 0 + i32.const 1088 + i32.const 68 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=5 + i32.const 105 + i32.ne + if i32.const 0 - call $~lib/string/String.UTF8.encode - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $0 - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 + i32.const 1088 + i32.const 69 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=6 + i32.const 240 + i32.ne + if i32.const 0 - call $~lib/string/String.UTF8.decodeUnsafe - local.tee $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1904 - i32.store offset=4 - local.get $0 - i32.const 1904 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 101 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1904 - i32.store offset=4 - i32.const 1904 + i32.const 1088 + i32.const 70 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=7 + i32.const 164 + i32.ne + if i32.const 0 - i32.const 1 - call $~lib/string/String.UTF8.encode - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $0 - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 + i32.const 1088 + i32.const 71 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=8 + i32.const 173 + i32.ne + if i32.const 0 - call $~lib/string/String.UTF8.decodeUnsafe - local.tee $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1936 - i32.store offset=4 - local.get $0 - i32.const 1936 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 103 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1968 - i32.store offset=4 - i32.const 1968 + i32.const 1088 + i32.const 72 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load8_u offset=9 + i32.const 162 + i32.ne + if i32.const 0 + i32.const 1088 + i32.const 73 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + call $std/string-encoding/testUTF8EncodeNullTerminated + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22620 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 1904 + i32.store offset=4 + i32.const 1904 + i32.const 0 + i32.const 0 + call $~lib/string/String.UTF8.encode + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $0 + local.get $1 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 0 + call $~lib/string/String.UTF8.decodeUnsafe + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 1904 + i32.store offset=4 + local.get $0 + i32.const 1904 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - call $~lib/string/String.UTF8.encode - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $0 - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 + i32.const 1088 + i32.const 101 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1904 + i32.store offset=4 + i32.const 1904 + i32.const 0 + i32.const 1 + call $~lib/string/String.UTF8.encode + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $0 + local.get $1 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 0 + call $~lib/string/String.UTF8.decodeUnsafe + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 1936 + i32.store offset=4 + local.get $0 + i32.const 1936 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - call $~lib/string/String.UTF8.decodeUnsafe - local.tee $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1968 - i32.store offset=4 - local.get $0 - i32.const 1968 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 106 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1968 - i32.store offset=4 - i32.const 1968 + i32.const 1088 + i32.const 103 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1968 + i32.store offset=4 + i32.const 1968 + i32.const 0 + i32.const 0 + call $~lib/string/String.UTF8.encode + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $0 + local.get $1 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 0 + call $~lib/string/String.UTF8.decodeUnsafe + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 1968 + i32.store offset=4 + local.get $0 + i32.const 1968 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.const 1 - call $~lib/string/String.UTF8.encode - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $0 - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 + i32.const 1088 + i32.const 106 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1968 + i32.store offset=4 + i32.const 1968 + i32.const 0 + i32.const 1 + call $~lib/string/String.UTF8.encode + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $0 + local.get $1 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 0 + call $~lib/string/String.UTF8.decodeUnsafe + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 1936 + i32.store offset=4 + local.get $0 + i32.const 1936 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - call $~lib/string/String.UTF8.decodeUnsafe - local.tee $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1936 - i32.store offset=4 - local.get $0 - i32.const 1936 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 108 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22620 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store - local.get $0 + i32.const 1088 + i32.const 108 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22620 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 1056 + i32.store + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 1056 + i32.const 0 + call $~lib/string/String.UTF8.encode@varargs + local.tee $0 + i32.store offset=4 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 0 + call $~lib/string/String.UTF8.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store offset=8 + local.get $0 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 1056 - i32.store - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 1056 + i32.const 1088 + i32.const 114 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 28 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22620 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 28 + memory.fill + local.get $0 + i32.const 1056 + i32.store + i32.const 2 + global.set $~argumentsLength + local.get $0 + i32.const 1056 + i32.const 1 + call $~lib/string/String.UTF8.encode@varargs + local.tee $0 + i32.store offset=4 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + call $~lib/string/String.UTF8.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store offset=8 + local.get $0 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - call $~lib/string/String.UTF8.encode@varargs - local.tee $0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 + i32.const 1088 + i32.const 120 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2000 + i32.store offset=12 + i32.const 2000 + i32.const 1 + call $~lib/string/String.UTF8.byteLength + i32.const 4 + i32.ne + if i32.const 0 - call $~lib/string/String.UTF8.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=8 - local.get $0 - i32.const 1056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 114 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22620 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 + i32.const 1088 + i32.const 122 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 2000 + i32.const 1 + call $~lib/string/String.UTF8.encode@varargs + local.tee $0 + i32.store offset=16 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 4 + i32.ne + if i32.const 0 - i32.const 28 - memory.fill - local.get $0 - i32.const 1056 - i32.store - i32.const 2 - global.set $~argumentsLength - local.get $0 - i32.const 1056 - i32.const 1 - call $~lib/string/String.UTF8.encode@varargs - local.tee $0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - call $~lib/string/String.UTF8.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=8 - local.get $0 - i32.const 1056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 120 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2000 - i32.store offset=12 - i32.const 2000 - i32.const 1 - call $~lib/string/String.UTF8.byteLength - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 122 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 2000 - i32.const 1 - call $~lib/string/String.UTF8.encode@varargs - local.tee $0 - i32.store offset=16 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 124 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2048 - i32.store offset=20 - i32.const 2048 - i32.const 1 - call $~lib/string/String.UTF8.byteLength - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 126 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - call $~lib/string/String.UTF8.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 2048 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 127 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 2000 + i32.const 1088 + i32.const 124 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2048 + i32.store offset=20 + i32.const 2048 + i32.const 1 + call $~lib/string/String.UTF8.byteLength + i32.const 4 + i32.ne + if i32.const 0 - call $~lib/string/String.UTF8.encode@varargs - local.tee $0 - i32.store offset=24 - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - call $~lib/string/String.UTF8.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 2048 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 129 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.add - global.set $~lib/memory/__stack_pointer - call $std/string-encoding/testUTF8DecodeUnsafe - global.get $~lib/memory/__stack_pointer - i32.const 2112 - i32.store - i32.const 2112 - call $std/string-encoding/testLarge - global.get $~lib/memory/__stack_pointer - i32.const 15232 - i32.store - i32.const 15232 - call $std/string-encoding/testLarge - global.get $~lib/rt/itcms/state + i32.const 1088 + i32.const 126 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + call $~lib/string/String.UTF8.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 2048 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.gt_s - if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - if - call $~lib/rt/itcms/step - drop - br $while-continue|0 - end - end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 + i32.const 1088 + i32.const 127 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 2000 + i32.const 0 + call $~lib/string/String.UTF8.encode@varargs + local.tee $0 + i32.store offset=24 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + call $~lib/string/String.UTF8.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 2048 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 129 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 28 + i32.add + global.set $~lib/memory/__stack_pointer + call $std/string-encoding/testUTF8DecodeUnsafe + global.get $~lib/memory/__stack_pointer + i32.const 2112 + i32.store + i32.const 2112 + call $std/string-encoding/testLarge + global.get $~lib/memory/__stack_pointer + i32.const 15232 + i32.store + i32.const 15232 + call $std/string-encoding/testLarge + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|0 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|1 + br $while-continue|0 end end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return end i32.const 39024 i32.const 39072 @@ -3674,7 +3672,7 @@ end end local.get $2 - if (result i32) + if local.get $2 i32.const 2 i32.eq @@ -3687,10 +3685,8 @@ unreachable end i32.const 65533 - else - local.get $5 + local.set $5 end - local.set $5 end local.get $0 local.get $5 diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 52132f075b..13568259f0 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -47080,1637 +47080,1604 @@ i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $9 - i32.store - local.get $9 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $9 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $9 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3600 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $9 - i32.load offset=8 - local.set $5 - local.get $9 - i32.load offset=4 - local.set $4 - local.get $1 - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $9 + i32.store + local.get $9 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $9 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $9 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3600 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $9 + i32.load offset=8 + local.set $5 + local.get $9 + i32.load offset=4 + local.set $4 + local.get $1 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|01 local.get $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|01 - local.get $5 - local.get $16 - i32.gt_s - if - local.get $4 - local.get $16 - i32.add - i32.load8_s - local.set $1 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $16 - i32.add - local.get $1 - local.get $16 - local.get $9 - i32.const 3600 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|01 - end - end - local.get $3 - local.get $2 - i32.store - local.get $2 + local.get $16 + i32.gt_s if - local.get $3 + local.get $4 + local.get $16 + i32.add + i32.load8_s + local.set $1 + i32.const 3 + global.set $~argumentsLength local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + local.get $16 + i32.add + local.get $1 + local.get $16 + local.get $9 + i32.const 3600 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|01 end + end + local.get $3 + local.get $2 + i32.store + local.get $2 + if local.get $3 local.get $2 - i32.store offset=4 - local.get $3 - local.get $5 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $3 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 4 - i32.ne - br_if $folding-inner17 - local.get $3 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 9 - i32.ne - br_if $folding-inner18 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> + call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $3 + local.get $2 + i32.store offset=4 + local.get $3 + local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $3 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $3 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 local.set $16 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $9 - i32.store - local.get $9 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $9 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $9 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3632 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $9 - i32.load offset=8 - local.set $5 - local.get $9 - i32.load offset=4 - local.set $4 - local.get $1 - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|03 - local.get $5 - local.get $16 - i32.gt_s - if - local.get $4 - local.get $16 - i32.add - i32.load8_u - local.set $1 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $16 - i32.add - local.get $1 - local.get $16 - local.get $9 - i32.const 3632 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|03 - end - end - local.get $3 - local.get $2 - i32.store - local.get $2 - if - local.get $3 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - local.get $2 - i32.store offset=4 - local.get $3 - local.get $5 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $3 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 4 - i32.ne - br_if $folding-inner17 - local.get $3 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 9 - i32.ne - br_if $folding-inner18 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> - end + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 i32.const 0 - local.set $16 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $9 + i32.store + local.get $9 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $9 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $9 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - i32.const 12 + global.get $~lib/memory/__stack_pointer + i32.const 3632 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $9 - i32.store - local.get $9 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $9 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $9 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3664 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $9 - i32.load offset=8 - local.set $5 - local.get $9 - i32.load offset=4 - local.set $4 - local.get $1 - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $9 + i32.load offset=8 + local.set $5 + local.get $9 + i32.load offset=4 + local.set $4 + local.get $1 + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|03 local.get $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|06 - local.get $5 - local.get $16 - i32.gt_s - if - local.get $4 - local.get $16 - i32.add - i32.load8_u - local.set $1 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $16 - i32.add - local.get $1 - local.get $16 - local.get $9 - i32.const 3664 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|06 - end - end - local.get $3 - local.get $2 - i32.store - local.get $2 + local.get $16 + i32.gt_s if - local.get $3 + local.get $4 + local.get $16 + i32.add + i32.load8_u + local.set $1 + i32.const 3 + global.set $~argumentsLength local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + local.get $16 + i32.add + local.get $1 + local.get $16 + local.get $9 + i32.const 3632 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|03 end + end + local.get $3 + local.get $2 + i32.store + local.get $2 + if local.get $3 local.get $2 - i32.store offset=4 - local.get $3 - local.get $5 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $3 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 4 - i32.ne - br_if $folding-inner17 - local.get $3 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 9 - i32.ne - br_if $folding-inner18 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> + call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $3 + local.get $2 + i32.store offset=4 + local.get $3 + local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $3 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $3 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 local.set $16 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $12 - i32.store - local.get $12 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $12 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $12 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3696 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $12 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $9 - local.get $12 - i32.load offset=4 - local.set $7 - local.get $1 - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.const 1 - i32.shl - local.tee $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - loop $for-loop|09 + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $9 + i32.store + local.get $9 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $9 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $9 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3664 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $9 + i32.load offset=8 + local.set $5 + local.get $9 + i32.load offset=4 + local.set $4 + local.get $1 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|06 + local.get $5 + local.get $16 + i32.gt_s + if + local.get $4 + local.get $16 + i32.add + i32.load8_u + local.set $1 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $16 + i32.add + local.get $1 + local.get $16 local.get $9 + i32.const 3664 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 local.get $16 - i32.gt_s - if - local.get $16 - i32.const 1 - i32.shl - local.tee $2 - local.get $7 - i32.add - i32.load16_s - local.set $1 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $3 - i32.add - local.get $1 - local.get $16 - local.get $12 - i32.const 3696 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|09 - end + i32.const 1 + i32.add + local.set $16 + br $for-loop|06 + end + end + local.get $3 + local.get $2 + i32.store + local.get $2 + if + local.get $3 + local.get $2 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $3 + local.get $2 + i32.store offset=4 + local.get $3 + local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $3 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $3 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $16 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $12 + i32.store + local.get $12 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $12 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $12 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3696 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $12 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $9 + local.get $12 + i32.load offset=4 + local.set $7 + local.get $1 + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.const 1 + i32.shl + local.tee $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + loop $for-loop|09 + local.get $9 + local.get $16 + i32.gt_s + if + local.get $16 + i32.const 1 + i32.shl + local.tee $2 + local.get $7 + i32.add + i32.load16_s + local.set $1 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $3 + i32.add + local.get $1 + local.get $16 + local.get $12 + i32.const 3696 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store16 + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|09 end + end + local.get $5 + local.get $3 + i32.store + local.get $3 + if local.get $5 local.get $3 - i32.store + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $5 + local.get $3 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $5 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $5 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $5 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $16 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $12 + i32.store + local.get $12 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $12 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $12 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3728 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $12 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $9 + local.get $12 + i32.load offset=4 + local.set $7 + local.get $1 + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.const 1 + i32.shl + local.tee $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + loop $for-loop|012 + local.get $9 + local.get $16 + i32.gt_s + if + local.get $16 + i32.const 1 + i32.shl + local.tee $2 + local.get $7 + i32.add + i32.load16_u + local.set $1 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $3 + i32.add + local.get $1 + local.get $16 + local.get $12 + i32.const 3728 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store16 + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|012 + end + end + local.get $5 + local.get $3 + i32.store + local.get $3 + if + local.get $5 local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $5 + local.get $3 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $5 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $5 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $5 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $16 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $12 + i32.store + local.get $12 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $12 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $12 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3760 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $12 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $9 + local.get $12 + i32.load offset=4 + local.set $7 + local.get $1 + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.const 2 + i32.shl + local.tee $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + loop $for-loop|015 + local.get $9 + local.get $16 + i32.gt_s if - local.get $5 + local.get $16 + i32.const 2 + i32.shl + local.tee $2 + local.get $7 + i32.add + i32.load + local.set $1 + i32.const 3 + global.set $~argumentsLength + local.get $2 local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.add + local.get $1 + local.get $16 + local.get $12 + i32.const 3760 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|015 end + end + local.get $5 + local.get $3 + i32.store + local.get $3 + if local.get $5 local.get $3 - i32.store offset=4 - local.get $5 - local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $5 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 4 - i32.ne - br_if $folding-inner17 - local.get $5 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 9 - i32.ne - br_if $folding-inner18 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> + call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $5 + local.get $3 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $5 i32.const 0 - local.set $16 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $5 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $5 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 9 + i32.ne + br_if $folding-inner18 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $12 - i32.store - local.get $12 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $12 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $12 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3728 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $12 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $9 - local.get $12 - i32.load offset=4 - local.set $7 - local.get $1 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.const 1 - i32.shl - local.tee $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - loop $for-loop|012 - local.get $9 - local.get $16 - i32.gt_s - if - local.get $16 - i32.const 1 - i32.shl - local.tee $2 - local.get $7 - i32.add - i32.load16_u - local.set $1 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $3 - i32.add - local.get $1 - local.get $16 - local.get $12 - i32.const 3728 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|012 - end - end - local.get $5 - local.get $3 - i32.store - local.get $3 - if - local.get $5 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 - local.get $3 - i32.store offset=4 - local.get $5 - local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $5 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 4 - i32.ne - br_if $folding-inner17 - local.get $5 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 9 - i32.ne - br_if $folding-inner18 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> - end i32.const 0 local.set $16 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $12 - i32.store - local.get $12 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $12 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $12 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3760 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $12 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $9 - local.get $12 - i32.load offset=4 - local.set $7 - local.get $1 - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.const 2 - i32.shl - local.tee $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - loop $for-loop|015 - local.get $9 - local.get $16 - i32.gt_s - if - local.get $16 - i32.const 2 - i32.shl - local.tee $2 - local.get $7 - i32.add - i32.load - local.set $1 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $3 - i32.add - local.get $1 - local.get $16 - local.get $12 - i32.const 3760 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|015 - end - end - local.get $5 - local.get $3 - i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $12 + i32.store + local.get $12 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $12 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $12 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3792 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $12 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $9 + local.get $12 + i32.load offset=4 + local.set $7 + local.get $1 + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.const 2 + i32.shl + local.tee $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + loop $for-loop|018 + local.get $9 + local.get $16 + i32.gt_s if - local.get $5 + local.get $16 + i32.const 2 + i32.shl + local.tee $2 + local.get $7 + i32.add + i32.load + local.set $1 + i32.const 3 + global.set $~argumentsLength + local.get $2 local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.add + local.get $1 + local.get $16 + local.get $12 + i32.const 3792 + i32.load + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|018 end + end + local.get $5 + local.get $3 + i32.store + local.get $3 + if local.get $5 local.get $3 - i32.store offset=4 - local.get $5 - local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $5 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 4 - i32.ne - br_if $folding-inner17 - local.get $5 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 9 - i32.ne - br_if $folding-inner18 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> + call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $5 + local.get $3 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $5 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.ne + br_if $folding-inner16 + local.get $5 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 4 + i32.ne + br_if $folding-inner17 + local.get $5 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 9 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 local.set $16 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $12 - i32.store - local.get $12 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $12 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $12 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3792 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $12 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $9 - local.get $12 - i32.load offset=4 - local.set $7 - local.get $1 - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.const 2 - i32.shl - local.tee $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - loop $for-loop|018 - local.get $9 - local.get $16 - i32.gt_s - if - local.get $16 - i32.const 2 - i32.shl - local.tee $2 - local.get $7 - i32.add - i32.load - local.set $1 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $3 - i32.add - local.get $1 - local.get $16 - local.get $12 - i32.const 3792 - i32.load - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|018 - end - end - local.get $5 - local.get $3 - i32.store - local.get $3 - if - local.get $5 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 - local.get $3 - i32.store offset=4 - local.get $5 - local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner16 - local.get $5 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 4 - i32.ne - br_if $folding-inner17 - local.get $5 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 9 - i32.ne - br_if $folding-inner18 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> - end + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $11 + i32.store + local.get $11 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $11 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $11 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3824 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $7 + local.get $11 + i32.load offset=4 + local.set $5 + local.get $1 + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 3 + i32.shl + local.tee $3 i32.const 0 - local.set $16 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $11 - i32.store - local.get $11 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $11 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $11 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3824 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $11 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $7 - local.get $11 - i32.load offset=4 - local.set $5 - local.get $1 - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|021 local.get $7 - i32.const 3 - i32.shl - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|021 - local.get $7 - local.get $16 - i32.gt_s - if - local.get $16 - i32.const 3 - i32.shl - local.tee $1 - local.get $5 - i32.add - i64.load - local.set $10 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $2 - i32.add - local.get $10 - local.get $16 - local.get $11 - i32.const 3824 - i32.load - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|021 - end - end - local.get $4 - local.get $2 - i32.store - local.get $2 + local.get $16 + i32.gt_s if - local.get $4 + local.get $16 + i32.const 3 + i32.shl + local.tee $1 + local.get $5 + i32.add + i64.load + local.set $10 + i32.const 3 + global.set $~argumentsLength + local.get $1 local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.add + local.get $10 + local.get $16 + local.get $11 + i32.const 3824 + i32.load + call_indirect $0 (type $i64_i32_i32_=>_i64) + i64.store + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|021 end + end + local.get $4 + local.get $2 + i32.store + local.get $2 + if local.get $4 local.get $2 - i32.store offset=4 - local.get $4 - local.get $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner16 - local.get $4 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 4 - i64.ne - br_if $folding-inner17 - local.get $4 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 9 - i64.ne - br_if $folding-inner18 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> + call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $4 + local.get $2 + i32.store offset=4 + local.get $4 + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.ne + br_if $folding-inner16 + local.get $4 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 4 + i64.ne + br_if $folding-inner17 + local.get $4 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 9 + i64.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 local.set $16 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $11 - i32.store - local.get $11 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $11 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $11 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3856 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $11 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $7 - local.get $11 - i32.load offset=4 - local.set $5 - local.get $1 - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.const 3 - i32.shl - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|024 - local.get $7 - local.get $16 - i32.gt_s - if - local.get $16 - i32.const 3 - i32.shl - local.tee $1 - local.get $5 - i32.add - i64.load - local.set $10 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $2 - i32.add - local.get $10 - local.get $16 - local.get $11 - i32.const 3856 - i32.load - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|024 - end - end - local.get $4 - local.get $2 - i32.store - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $11 + i32.store + local.get $11 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $11 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $11 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3856 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $7 + local.get $11 + i32.load offset=4 + local.set $5 + local.get $1 + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 3 + i32.shl + local.tee $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|024 + local.get $7 + local.get $16 + i32.gt_s if - local.get $4 + local.get $16 + i32.const 3 + i32.shl + local.tee $1 + local.get $5 + i32.add + i64.load + local.set $10 + i32.const 3 + global.set $~argumentsLength + local.get $1 local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.add + local.get $10 + local.get $16 + local.get $11 + i32.const 3856 + i32.load + call_indirect $0 (type $i64_i32_i32_=>_i64) + i64.store + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|024 end + end + local.get $4 + local.get $2 + i32.store + local.get $2 + if local.get $4 local.get $2 - i32.store offset=4 - local.get $4 - local.get $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner16 - local.get $4 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 4 - i64.ne - br_if $folding-inner17 - local.get $4 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 9 - i64.ne - br_if $folding-inner18 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> + call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $4 + local.get $2 + i32.store offset=4 + local.get $4 + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.ne + br_if $folding-inner16 + local.get $4 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 4 + i64.ne + br_if $folding-inner17 + local.get $4 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 9 + i64.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 local.set $16 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $11 - i32.store - local.get $11 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $11 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $11 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3888 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $11 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $7 - local.get $11 - i32.load offset=4 - local.set $5 - local.get $1 - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $11 + i32.store + local.get $11 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $11 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $11 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3888 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $11 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $7 + local.get $11 + i32.load offset=4 + local.set $5 + local.get $1 + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 2 + i32.shl + local.tee $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|028 local.get $7 - i32.const 2 - i32.shl - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|028 - local.get $7 - local.get $16 - i32.gt_s - if - local.get $16 - i32.const 2 - i32.shl - local.tee $1 - local.get $5 - i32.add - f32.load - local.set $6 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $2 - i32.add - local.get $6 - local.get $16 - local.get $11 - i32.const 3888 - i32.load - call_indirect $0 (type $f32_i32_i32_=>_f32) - f32.store - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|028 - end - end - local.get $4 - local.get $2 - i32.store - local.get $2 + local.get $16 + i32.gt_s if - local.get $4 + local.get $16 + i32.const 2 + i32.shl + local.tee $1 + local.get $5 + i32.add + f32.load + local.set $6 + i32.const 3 + global.set $~argumentsLength + local.get $1 local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.add + local.get $6 + local.get $16 + local.get $11 + i32.const 3888 + i32.load + call_indirect $0 (type $f32_i32_i32_=>_f32) + f32.store + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|028 end + end + local.get $4 + local.get $2 + i32.store + local.get $2 + if local.get $4 local.get $2 - i32.store offset=4 - local.get $4 - local.get $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.ne - br_if $folding-inner16 - local.get $4 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 4 - f32.ne - br_if $folding-inner17 - local.get $4 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 9 - f32.ne - br_if $folding-inner18 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> + call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $4 + local.get $2 + i32.store offset=4 + local.get $4 + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.ne + br_if $folding-inner16 + local.get $4 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 4 + f32.ne + br_if $folding-inner17 + local.get $4 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 9 + f32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 local.set $16 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $11 - i32.store - local.get $11 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $11 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $11 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3920 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $11 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $7 - local.get $11 - i32.load offset=4 - local.set $5 - local.get $1 - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $11 + i32.store + local.get $11 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $11 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $11 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3920 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $11 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $7 + local.get $11 + i32.load offset=4 + local.set $5 + local.get $1 + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 3 + i32.shl + local.tee $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|031 local.get $7 - i32.const 3 - i32.shl - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - loop $for-loop|031 - local.get $7 - local.get $16 - i32.gt_s - if - local.get $16 - i32.const 3 - i32.shl - local.tee $1 - local.get $5 - i32.add - f64.load - local.set $8 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $2 - i32.add - local.get $8 - local.get $16 - local.get $11 - i32.const 3920 - i32.load - call_indirect $0 (type $f64_i32_i32_=>_f64) - f64.store - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|031 - end - end - local.get $4 - local.get $2 - i32.store - local.get $2 + local.get $16 + i32.gt_s if - local.get $4 + local.get $16 + i32.const 3 + i32.shl + local.tee $1 + local.get $5 + i32.add + f64.load + local.set $8 + i32.const 3 + global.set $~argumentsLength + local.get $1 local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.add + local.get $8 + local.get $16 + local.get $11 + i32.const 3920 + i32.load + call_indirect $0 (type $f64_i32_i32_=>_f64) + f64.store + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|031 end + end + local.get $4 + local.get $2 + i32.store + local.get $2 + if local.get $4 local.get $2 - i32.store offset=4 - local.get $4 - local.get $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 1 - f64.ne - br_if $folding-inner16 - local.get $4 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.ne - br_if $folding-inner17 - local.get $4 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 9 - f64.ne - br_if $folding-inner18 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> + call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $4 + local.get $2 + i32.store offset=4 + local.get $4 + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.ne + br_if $folding-inner16 + local.get $4 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.ne + br_if $folding-inner17 + local.get $4 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 9 + f64.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer call $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> @@ -58527,32 +58494,310 @@ i32.const 0 i32.store local.get $0 - i32.const 9584 + i32.const 9584 + i32.store + local.get $1 + call $~lib/typedarray/Float32Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10800 + i32.store offset=8 + local.get $0 + i32.const 10800 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner15 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store + local.get $0 + i64.const 0 + i64.store offset=8 + local.get $0 + i32.const 5 + call $~lib/typedarray/Float64Array#constructor + local.tee $1 + i32.store + local.get $1 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $1 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $1 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $1 + i32.const 3 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $1 + i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Float64Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10800 + i32.store offset=8 + local.get $0 + i32.const 10800 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner14 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $0 + i32.const 9584 + i32.store + local.get $1 + call $~lib/typedarray/Float64Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10800 + i32.store offset=8 + local.get $0 + i32.const 10800 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner15 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $0 + i32.store offset=12 + i32.const 2 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $0 + i32.store offset=24 + local.get $0 + i32.load offset=8 + if + i32.const 0 + i32.const 1568 + i32.const 737 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $0 + i32.store offset=12 + i32.const 2 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $0 + i32.store offset=24 + local.get $0 + i32.load offset=8 + if + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill + local.get $0 + i32.const 10928 + i32.store + local.get $0 + i32.const 10940 + i32.load + local.tee $5 + call $~lib/typedarray/Int8Array#constructor + local.tee $4 + i32.store offset=4 + i32.const 0 + local.set $16 + loop $for-loop|083 + local.get $5 + local.get $16 + i32.gt_s + if + local.get $4 + local.get $16 + i32.const 10928 + local.get $16 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|083 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $4 + i32.load + local.tee $0 + i32.store offset=8 + local.get $1 + local.get $0 + local.get $4 + i32.load offset=4 + local.get $4 + i32.load + i32.sub + local.tee $0 + local.get $0 + local.get $4 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store + local.get $3 + i32.const 20 + i32.sub + i32.load offset=16 + local.set $1 + local.get $0 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $3 i32.store + local.get $3 + if + local.get $0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $0 local.get $1 - call $~lib/typedarray/Float32Array#join - local.set $0 + i32.store offset=8 + local.get $0 + local.get $3 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store offset=8 local.get $0 - i32.const 10800 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner15 + i32.store offset=16 + i32.const 0 + local.set $16 + loop $for-loop|187 + local.get $5 + local.get $16 + i32.gt_s + if + local.get $4 + local.get $16 + call $~lib/typedarray/Int8Array#__get + local.get $0 + local.get $16 + call $~lib/typedarray/Int8Array#__get + i32.ne + br_if $folding-inner19 + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|187 + end + end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -58561,53 +58806,165 @@ br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $0 - i64.const 0 - i64.store - local.get $0 - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.const 20 + memory.fill local.get $0 - i32.const 5 - call $~lib/typedarray/Float64Array#constructor - local.tee $1 + i32.const 10928 i32.store - local.get $1 + local.get $0 + i32.const 10940 + i32.load + local.tee $3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 + i32.store offset=4 i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set + local.set $16 + loop $for-loop|092144 + local.get $3 + local.get $16 + i32.gt_s + if + local.get $2 + local.get $16 + i32.const 10928 + local.get $16 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|092144 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.load + local.tee $0 + i32.store offset=8 local.get $1 + local.get $0 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load + i32.sub + local.tee $0 + local.get $0 + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 3 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Float64Array#join - local.set $0 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $0 + i32.store offset=16 + i32.const 0 + local.set $16 + loop $for-loop|197 + local.get $3 + local.get $16 + i32.gt_s + if + local.get $2 + local.get $16 + call $~lib/typedarray/Uint8Array#__get + local.get $0 + local.get $16 + call $~lib/typedarray/Uint8Array#__get + i32.ne + br_if $folding-inner19 + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|197 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill + local.get $0 + i32.const 10928 + i32.store local.get $0 + i32.const 10940 + i32.load + local.tee $5 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $4 i32.store offset=4 + i32.const 0 + local.set $16 + loop $for-loop|0102145 + local.get $5 + local.get $16 + i32.gt_s + if + local.get $4 + local.get $16 + i32.const 10928 + local.get $16 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|0102145 + end + end global.get $~lib/memory/__stack_pointer - i32.const 10800 + local.tee $1 + local.get $4 + i32.load + local.tee $0 i32.store offset=8 + local.get $1 local.get $0 - i32.const 10800 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner14 + local.get $4 + i32.load offset=4 + local.get $4 + i32.load + i32.sub + local.tee $0 + local.get $0 + local.get $4 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 1 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -58620,77 +58977,64 @@ local.tee $0 i32.const 0 i32.store + local.get $3 + i32.const 20 + i32.sub + i32.load offset=16 + local.set $1 + local.get $0 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store local.get $0 - i32.const 9584 + local.get $3 i32.store - local.get $1 - call $~lib/typedarray/Float64Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.get $3 + if + local.get $0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10800 + local.get $1 i32.store offset=8 local.get $0 - i32.const 10800 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner15 + local.get $3 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 - i32.store offset=12 - i32.const 2 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer local.get $0 + i32.store offset=16 i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $0 - i32.store offset=24 - local.get $0 - i32.load offset=8 - if - i32.const 0 - i32.const 1568 - i32.const 737 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $16 + loop $for-loop|1107 + local.get $5 + local.get $16 + i32.gt_s + if + local.get $4 + local.get $16 + call $~lib/typedarray/Uint8ClampedArray#__get + local.get $0 + local.get $16 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.ne + br_if $folding-inner19 + local.get $16 + i32.const 1 + i32.add + local.set $16 + br $for-loop|1107 + end end global.get $~lib/memory/__stack_pointer - i32.const 2 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 - i32.store offset=12 - i32.const 2 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $0 - i32.store offset=24 - local.get $0 - i32.load offset=8 - if - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -58711,12 +59055,12 @@ i32.const 10940 i32.load local.tee $5 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Int16Array#constructor local.tee $4 i32.store offset=4 i32.const 0 local.set $16 - loop $for-loop|083 + loop $for-loop|0112147 local.get $5 local.get $16 i32.gt_s @@ -58726,13 +59070,13 @@ i32.const 10928 local.get $16 call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set + i32.extend16_s + call $~lib/typedarray/Int16Array#__set local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|083 + br $for-loop|0112147 end end global.get $~lib/memory/__stack_pointer @@ -58768,17 +59112,19 @@ i32.lt_s br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 i32.store local.get $3 i32.const 20 i32.sub i32.load offset=16 - local.set $1 - local.get $0 + local.tee $1 + i32.const 1 + i32.and + br_if $folding-inner20 + global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 3 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -58805,24 +59151,24 @@ i32.store offset=16 i32.const 0 local.set $16 - loop $for-loop|187 + loop $for-loop|1117 local.get $5 local.get $16 i32.gt_s if local.get $4 local.get $16 - call $~lib/typedarray/Int8Array#__get + call $~lib/typedarray/Int16Array#__get local.get $0 local.get $16 - call $~lib/typedarray/Int8Array#__get + call $~lib/typedarray/Int16Array#__get i32.ne br_if $folding-inner19 local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|187 + br $for-loop|1117 end end global.get $~lib/memory/__stack_pointer @@ -58848,81 +59194,122 @@ local.get $0 i32.const 10940 i32.load - local.tee $3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 + local.tee $5 + call $~lib/typedarray/Uint16Array#constructor + local.tee $4 i32.store offset=4 i32.const 0 local.set $16 - loop $for-loop|092144 - local.get $3 + loop $for-loop|0122 + local.get $5 local.get $16 i32.gt_s if - local.get $2 + local.get $4 local.get $16 i32.const 10928 local.get $16 call $~lib/array/Array#__get - i32.const 255 + i32.const 65535 i32.and - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Uint16Array#__set local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|092144 + br $for-loop|0122 end end global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $2 + local.get $4 i32.load local.tee $0 i32.store offset=8 local.get $1 local.get $0 - local.get $2 + local.get $4 i32.load offset=4 - local.get $2 + local.get $4 i32.load i32.sub local.tee $0 local.get $0 - local.get $2 + local.get $4 i32.load offset=8 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 + local.tee $3 i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs + i32.store + local.get $3 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $1 + i32.const 1 + i32.and + br_if $folding-inner20 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new local.tee $0 + i32.store + local.get $0 + local.get $3 + i32.store + local.get $3 + if + local.get $0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 i32.store offset=16 i32.const 0 local.set $16 - loop $for-loop|197 - local.get $3 + loop $for-loop|1127 + local.get $5 local.get $16 i32.gt_s if - local.get $2 + local.get $4 local.get $16 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Uint16Array#__get local.get $0 local.get $16 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Uint16Array#__get i32.ne br_if $folding-inner19 local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|197 + br $for-loop|1127 end end global.get $~lib/memory/__stack_pointer @@ -58949,12 +59336,12 @@ i32.const 10940 i32.load local.tee $5 - call $~lib/typedarray/Uint8ClampedArray#constructor + call $~lib/typedarray/Int32Array#constructor local.tee $4 i32.store offset=4 i32.const 0 local.set $16 - loop $for-loop|0102145 + loop $for-loop|0132 local.get $5 local.get $16 i32.gt_s @@ -58964,14 +59351,12 @@ i32.const 10928 local.get $16 call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + call $~lib/typedarray/Int32Array#__set local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|0102145 + br $for-loop|0132 end end global.get $~lib/memory/__stack_pointer @@ -59007,17 +59392,19 @@ i32.lt_s br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 i32.store local.get $3 i32.const 20 i32.sub i32.load offset=16 - local.set $1 - local.get $0 + local.tee $1 + i32.const 3 + i32.and + br_if $folding-inner20 + global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 5 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -59044,24 +59431,24 @@ i32.store offset=16 i32.const 0 local.set $16 - loop $for-loop|1107 + loop $for-loop|1137 local.get $5 local.get $16 i32.gt_s if local.get $4 local.get $16 - call $~lib/typedarray/Uint8ClampedArray#__get + call $~lib/typedarray/Int32Array#__get local.get $0 local.get $16 - call $~lib/typedarray/Uint8ClampedArray#__get + call $~lib/typedarray/Int32Array#__get i32.ne br_if $folding-inner19 local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|1107 + br $for-loop|1137 end end global.get $~lib/memory/__stack_pointer @@ -59088,12 +59475,12 @@ i32.const 10940 i32.load local.tee $5 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $4 i32.store offset=4 i32.const 0 local.set $16 - loop $for-loop|0112147 + loop $for-loop|0142 local.get $5 local.get $16 i32.gt_s @@ -59103,13 +59490,12 @@ i32.const 10928 local.get $16 call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|0112147 + br $for-loop|0142 end end global.get $~lib/memory/__stack_pointer @@ -59152,12 +59538,12 @@ i32.sub i32.load offset=16 local.tee $1 - i32.const 1 + i32.const 3 i32.and br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 6 + i32.const 9 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -59184,24 +59570,24 @@ i32.store offset=16 i32.const 0 local.set $16 - loop $for-loop|1117 + loop $for-loop|1147 local.get $5 local.get $16 i32.gt_s if local.get $4 local.get $16 - call $~lib/typedarray/Int16Array#__get + call $~lib/typedarray/Uint32Array#__get local.get $0 local.get $16 - call $~lib/typedarray/Int16Array#__get + call $~lib/typedarray/Uint32Array#__get i32.ne br_if $folding-inner19 local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|1117 + br $for-loop|1147 end end global.get $~lib/memory/__stack_pointer @@ -59228,12 +59614,12 @@ i32.const 10940 i32.load local.tee $5 - call $~lib/typedarray/Uint16Array#constructor + call $~lib/typedarray/Int64Array#constructor local.tee $4 i32.store offset=4 i32.const 0 local.set $16 - loop $for-loop|0122 + loop $for-loop|0152 local.get $5 local.get $16 i32.gt_s @@ -59243,14 +59629,13 @@ i32.const 10928 local.get $16 call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|0122 + br $for-loop|0152 end end global.get $~lib/memory/__stack_pointer @@ -59293,12 +59678,12 @@ i32.sub i32.load offset=16 local.tee $1 - i32.const 1 + i32.const 7 i32.and br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 7 + i32.const 10 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -59325,24 +59710,24 @@ i32.store offset=16 i32.const 0 local.set $16 - loop $for-loop|1127 + loop $for-loop|1157 local.get $5 local.get $16 i32.gt_s if local.get $4 local.get $16 - call $~lib/typedarray/Uint16Array#__get + call $~lib/typedarray/Int64Array#__get local.get $0 local.get $16 - call $~lib/typedarray/Uint16Array#__get - i32.ne + call $~lib/typedarray/Int64Array#__get + i64.ne br_if $folding-inner19 local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|1127 + br $for-loop|1157 end end global.get $~lib/memory/__stack_pointer @@ -59369,12 +59754,12 @@ i32.const 10940 i32.load local.tee $5 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $4 i32.store offset=4 i32.const 0 local.set $16 - loop $for-loop|0132 + loop $for-loop|0162 local.get $5 local.get $16 i32.gt_s @@ -59384,12 +59769,13 @@ i32.const 10928 local.get $16 call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|0132 + br $for-loop|0162 end end global.get $~lib/memory/__stack_pointer @@ -59432,12 +59818,12 @@ i32.sub i32.load offset=16 local.tee $1 - i32.const 3 + i32.const 7 i32.and br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 8 + i32.const 11 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -59464,24 +59850,24 @@ i32.store offset=16 i32.const 0 local.set $16 - loop $for-loop|1137 + loop $for-loop|1167 local.get $5 local.get $16 i32.gt_s if local.get $4 local.get $16 - call $~lib/typedarray/Int32Array#__get + call $~lib/typedarray/Uint64Array#__get local.get $0 local.get $16 - call $~lib/typedarray/Int32Array#__get - i32.ne + call $~lib/typedarray/Uint64Array#__get + i64.ne br_if $folding-inner19 local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|1137 + br $for-loop|1167 end end global.get $~lib/memory/__stack_pointer @@ -59508,12 +59894,12 @@ i32.const 10940 i32.load local.tee $5 - call $~lib/typedarray/Uint32Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $4 i32.store offset=4 i32.const 0 local.set $16 - loop $for-loop|0142 + loop $for-loop|0172 local.get $5 local.get $16 i32.gt_s @@ -59523,12 +59909,13 @@ i32.const 10928 local.get $16 call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|0142 + br $for-loop|0172 end end global.get $~lib/memory/__stack_pointer @@ -59576,7 +59963,7 @@ br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 9 + i32.const 12 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -59603,24 +59990,24 @@ i32.store offset=16 i32.const 0 local.set $16 - loop $for-loop|1147 + loop $for-loop|1177 local.get $5 local.get $16 i32.gt_s if local.get $4 local.get $16 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Float32Array#__get local.get $0 local.get $16 - call $~lib/typedarray/Uint32Array#__get - i32.ne + call $~lib/typedarray/Float32Array#__get + f32.ne br_if $folding-inner19 local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|1147 + br $for-loop|1177 end end global.get $~lib/memory/__stack_pointer @@ -59647,12 +60034,12 @@ i32.const 10940 i32.load local.tee $5 - call $~lib/typedarray/Int64Array#constructor + call $~lib/typedarray/Float64Array#constructor local.tee $4 i32.store offset=4 i32.const 0 local.set $16 - loop $for-loop|0152 + loop $for-loop|0182 local.get $5 local.get $16 i32.gt_s @@ -59662,13 +60049,13 @@ i32.const 10928 local.get $16 call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|0152 + br $for-loop|0182 end end global.get $~lib/memory/__stack_pointer @@ -59716,7 +60103,7 @@ br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 10 + i32.const 13 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -59743,237 +60130,376 @@ i32.store offset=16 i32.const 0 local.set $16 - loop $for-loop|1157 + loop $for-loop|1187 local.get $5 local.get $16 i32.gt_s if local.get $4 local.get $16 - call $~lib/typedarray/Int64Array#__get + call $~lib/typedarray/Float64Array#__get local.get $0 local.get $16 - call $~lib/typedarray/Int64Array#__get - i64.ne + call $~lib/typedarray/Float64Array#__get + f64.ne br_if $folding-inner19 local.get $16 i32.const 1 i32.add local.set $16 - br $for-loop|1157 + br $for-loop|1187 end end global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer + call $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 + i32.const 10 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $7 + i32.store offset=24 global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor local.tee $0 + i32.store offset=12 + local.get $0 i32.const 0 - i32.const 20 - memory.fill + f32.const 400 + call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 10928 - i32.store + i32.const 1 + f32.const nan:0x400000 + call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 10940 - i32.load - local.tee $5 - call $~lib/typedarray/Uint64Array#constructor + i32.const 2 + f32.const inf + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/typedarray/Int64Array#constructor local.tee $4 - i32.store offset=4 + i32.store offset=8 + local.get $4 i32.const 0 - local.set $16 - loop $for-loop|0162 - local.get $5 - local.get $16 + i64.const -10 + call $~lib/typedarray/Int64Array#__set + local.get $4 + i32.const 1 + i64.const 100 + call $~lib/typedarray/Int64Array#__set + local.get $4 + i32.const 2 + i64.const 10 + call $~lib/typedarray/Int64Array#__set + local.get $4 + i32.const 3 + i64.const 300 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 2 + call $~lib/typedarray/Int32Array#constructor + local.tee $5 + i32.store offset=16 + local.get $5 + i32.const 0 + i32.const 300 + call $~lib/typedarray/Int32Array#__set + local.get $5 + i32.const 1 + i32.const -1 + call $~lib/typedarray/Int32Array#__set + local.get $7 + i32.load offset=8 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.add + i32.lt_s + br_if $folding-inner22 + local.get $7 + i32.load offset=4 + i32.const 1 + i32.add + local.set $3 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $0 + i32.const 0 + local.set $1 + loop $for-loop|0193 + local.get $0 + local.get $1 i32.gt_s if + local.get $1 + local.get $3 + i32.add + f32.const 0 + f32.const 255 + local.get $1 + i32.const 2 + i32.shl + local.get $2 + i32.add + f32.load + local.tee $6 + f32.min + f32.max + i32.trunc_sat_f32_u + i32.const 0 + local.get $6 + local.get $6 + f32.sub + f32.const 0 + f32.eq + select + i32.store8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0193 + end + end + local.get $7 + local.get $4 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + local.get $7 + i32.load offset=8 + local.get $5 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 8 + i32.add + i32.lt_s + br_if $folding-inner22 + local.get $7 + i32.load offset=4 + i32.const 8 + i32.add + local.set $4 + local.get $5 + i32.load offset=4 + local.set $3 + local.get $5 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $2 + i32.const 0 + local.set $1 + loop $for-loop|0199 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $1 local.get $4 - local.get $16 - i32.const 10928 - local.get $16 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $16 + i32.add + i32.const 255 + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load + local.tee $0 + i32.sub + i32.const 31 + i32.shr_s + local.get $0 + i32.or + local.get $0 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.and + i32.store8 + local.get $1 i32.const 1 i32.add - local.set $16 - br $for-loop|0162 + local.set $1 + br $for-loop|0199 end end + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 15280 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $4 - i32.load - local.tee $0 - i32.store offset=8 - local.get $1 local.get $0 - local.get $4 - i32.load offset=4 - local.get $4 - i32.load - i32.sub - local.tee $0 + i32.store offset=4 + local.get $7 local.get $0 - local.get $4 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 1 - global.set $~argumentsLength + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $3 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $1 - i32.const 7 - i32.and - br_if $folding-inner20 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new + call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.store + i32.store offset=28 local.get $0 - local.get $3 - i32.store - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set local.get $0 - local.get $1 - i32.store offset=8 + i32.const 1 + i32.const 300 + call $~lib/typedarray/Uint32Array#__set local.get $0 - local.get $3 - i32.store offset=4 + i32.const 2 + i32.const 100 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 3 + i32.const -1 + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/typedarray/Int16Array#constructor + local.tee $5 + i32.store + local.get $5 + i32.const 0 + i32.const -10 + call $~lib/typedarray/Int16Array#__set + local.get $5 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Int16Array#__set + local.get $5 + i32.const 2 + i32.const 10 + call $~lib/typedarray/Int16Array#__set + local.get $5 + i32.const 3 + i32.const 300 + call $~lib/typedarray/Int16Array#__set + local.get $7 + i32.load offset=8 local.get $0 - i32.store offset=16 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.lt_s + br_if $folding-inner22 + local.get $7 + i32.load offset=4 + local.set $4 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $2 i32.const 0 - local.set $16 - loop $for-loop|1167 - local.get $5 - local.get $16 - i32.gt_s + local.set $1 + loop $for-loop|0205 + local.get $1 + local.get $2 + i32.lt_s if + local.get $1 local.get $4 - local.get $16 - call $~lib/typedarray/Uint64Array#__get + i32.add + i32.const 255 + local.get $1 + i32.const 2 + i32.shl + local.get $3 + i32.add + i32.load + local.tee $0 local.get $0 - local.get $16 - call $~lib/typedarray/Uint64Array#__get - i64.ne - br_if $folding-inner19 - local.get $16 + i32.const 255 + i32.gt_u + select + i32.store8 + local.get $1 i32.const 1 i32.add - local.set $16 - br $for-loop|1167 + local.set $1 + br $for-loop|0205 end end + local.get $7 + local.get $5 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 15312 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $7 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill - local.get $0 - i32.const 10928 - i32.store - local.get $0 - i32.const 10940 - i32.load - local.tee $5 - call $~lib/typedarray/Float32Array#constructor - local.tee $4 - i32.store offset=4 - i32.const 0 - local.set $16 - loop $for-loop|0172 - local.get $5 - local.get $16 - i32.gt_s - if - local.get $4 - local.get $16 - i32.const 10928 - local.get $16 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|0172 - end - end + i32.const 16628 + i32.lt_s + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $4 - i32.load - local.tee $0 + i64.const 0 + i64.store + local.get $1 + i32.const 0 i32.store offset=8 local.get $1 - local.get $0 - local.get $4 - i32.load offset=4 - local.get $4 - i32.load - i32.sub - local.tee $0 - local.get $0 - local.get $4 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $2 i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer i32.const 4 @@ -59986,69 +60512,120 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $3 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $1 - i32.const 3 - i32.and - br_if $folding-inner20 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $3 - i32.store - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 15344 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15344 + i32.store end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - local.get $3 - i32.store offset=4 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - local.set $16 - loop $for-loop|1177 - local.get $5 - local.get $16 - i32.gt_s - if - local.get $4 - local.get $16 - call $~lib/typedarray/Float32Array#__get - local.get $0 - local.get $16 - call $~lib/typedarray/Float32Array#__get - f32.ne - br_if $folding-inner19 - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|1177 - end - end + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 15376 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 15376 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -60056,64 +60633,119 @@ i32.lt_s br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 20 - memory.fill - local.get $0 - i32.const 10928 i32.store + block $1of1158 + block $0of1159 + block $outOfRange160 + global.get $~argumentsLength + br_table $0of1159 $1of1158 $outOfRange160 + end + unreachable + end + i32.const 15408 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15408 + i32.store + end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 local.get $0 - i32.const 10940 - i32.load - local.tee $5 - call $~lib/typedarray/Float64Array#constructor - local.tee $4 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 2 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15440 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 15440 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $16 - loop $for-loop|0182 - local.get $5 - local.get $16 - i32.gt_s - if - local.get $4 - local.get $16 - i32.const 10928 - local.get $16 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|0182 - end - end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $4 - i32.load - local.tee $0 + i64.const 0 + i64.store + local.get $1 + i32.const 0 i32.store offset=8 local.get $1 - local.get $0 - local.get $4 - i32.load offset=4 - local.get $4 - i32.load - i32.sub - local.tee $0 - local.get $0 - local.get $4 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer i32.const 4 @@ -60126,1665 +60758,970 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $3 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $1 - i32.const 7 - i32.and - br_if $folding-inner20 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $3 - i32.store - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link + block $1of1162 + block $0of1163 + block $outOfRange164 + global.get $~argumentsLength + br_table $0of1163 $1of1162 $outOfRange164 + end + unreachable + end + i32.const 15472 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15472 + i32.store end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - local.get $3 - i32.store offset=4 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - i32.const 0 - local.set $16 - loop $for-loop|1187 - local.get $5 - local.get $16 - i32.gt_s - if - local.get $4 - local.get $16 - call $~lib/typedarray/Float64Array#__get - local.get $0 - local.get $16 - call $~lib/typedarray/Float64Array#__get - f64.ne - br_if $folding-inner19 - local.get $16 - i32.const 1 - i32.add - local.set $16 - br $for-loop|1187 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - call $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $7 - i32.store offset=24 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store offset=12 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - f32.const 400 - call $~lib/typedarray/Float32Array#__set - local.get $0 + call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 - f32.const nan:0x400000 - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 2 - f32.const inf - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Int64Array#constructor - local.tee $4 - i32.store offset=8 - local.get $4 - i32.const 0 - i64.const -10 - call $~lib/typedarray/Int64Array#__set - local.get $4 + i32.ne + br_if $folding-inner36 + local.get $2 i32.const 1 - i64.const 100 - call $~lib/typedarray/Int64Array#__set - local.get $4 + call $~lib/typedarray/Uint8ClampedArray#__get i32.const 2 - i64.const 10 - call $~lib/typedarray/Int64Array#__set - local.get $4 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 - i64.const 300 - call $~lib/typedarray/Int64Array#__set + i32.ne + br_if $folding-inner38 global.get $~lib/memory/__stack_pointer - i32.const 2 - call $~lib/typedarray/Int32Array#constructor - local.tee $5 - i32.store offset=16 - local.get $5 + i32.const 15504 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 15504 + call $~lib/util/sort/SORT + local.get $2 i32.const 0 - i32.const 300 - call $~lib/typedarray/Int32Array#__set - local.get $5 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 i32.const 1 - i32.const -1 - call $~lib/typedarray/Int32Array#__set - local.get $7 - i32.load offset=8 - local.get $0 - i32.load offset=8 + call $~lib/typedarray/Uint8ClampedArray#__get i32.const 2 - i32.shr_u + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 i32.lt_s - br_if $folding-inner22 - local.get $7 - i32.load offset=4 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $2 i32.const 1 - i32.add - local.set $3 - local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=8 i32.const 2 - i32.shr_u - local.set $0 + call $~lib/typedarray/Int16Array#__set + local.get $2 i32.const 0 - local.set $1 - loop $for-loop|0193 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $1 - local.get $3 - i32.add - f32.const 0 - f32.const 255 - local.get $1 - i32.const 2 - i32.shl - local.get $2 - i32.add - f32.load - local.tee $6 - f32.min - f32.max - i32.trunc_sat_f32_u - i32.const 0 - local.get $6 - local.get $6 - f32.sub - f32.const 0 - f32.eq - select - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0193 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of139 + block $0of140 + block $outOfRange41 + global.get $~argumentsLength + br_table $0of140 $1of139 $outOfRange41 + end + unreachable end + i32.const 15536 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15536 + i32.store end - local.get $7 - local.get $4 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> - local.get $7 - i32.load offset=8 - local.get $5 + local.get $2 + i32.load offset=4 + local.get $2 i32.load offset=8 - i32.const 2 + i32.const 1 i32.shr_u - i32.const 8 - i32.add - i32.lt_s - br_if $folding-inner22 - local.get $7 - i32.load offset=4 - i32.const 8 + local.get $0 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $4 - local.get $5 + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 2 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15568 + i32.store offset=8 + local.get $2 i32.load offset=4 - local.set $3 - local.get $5 + local.get $2 i32.load offset=8 - i32.const 2 + i32.const 1 i32.shr_u - local.set $2 + i32.const 15568 + call $~lib/util/sort/SORT + local.get $2 i32.const 0 - local.set $1 - loop $for-loop|0199 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $4 - i32.add - i32.const 255 - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add - i32.load - local.tee $0 - i32.sub - i32.const 31 - i32.shr_s - local.get $0 - i32.or - local.get $0 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.and - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0199 - end - end - i32.const 10 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 - i32.const 63 - i32.const 15280 - call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $7 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store offset=28 - local.get $0 + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $0 + call $~lib/typedarray/Uint16Array#__set + local.get $2 i32.const 1 - i32.const 300 - call $~lib/typedarray/Uint32Array#__set - local.get $0 i32.const 2 - i32.const 100 - call $~lib/typedarray/Uint32Array#__set - local.get $0 + call $~lib/typedarray/Uint16Array#__set + local.get $2 + i32.const 0 i32.const 3 - i32.const -1 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of143 + block $0of144 + block $outOfRange45 + global.get $~argumentsLength + br_table $0of144 $1of143 $outOfRange45 + end + unreachable + end + i32.const 15600 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15600 + i32.store + end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 - call $~lib/typedarray/Int16Array#constructor - local.tee $5 - i32.store - local.get $5 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.const -10 - call $~lib/typedarray/Int16Array#__set - local.get $5 + call $~lib/typedarray/Uint16Array#__get i32.const 1 - i32.const 100 - call $~lib/typedarray/Int16Array#__set - local.get $5 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get i32.const 2 - i32.const 10 - call $~lib/typedarray/Int16Array#__set - local.get $5 - i32.const 3 - i32.const 300 - call $~lib/typedarray/Int16Array#__set - local.get $7 - i32.load offset=8 - local.get $0 - i32.load offset=8 + i32.ne + br_if $folding-inner37 + local.get $2 i32.const 2 - i32.shr_u - i32.lt_s - br_if $folding-inner22 - local.get $7 - i32.load offset=4 - local.set $4 - local.get $0 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15632 + i32.store offset=8 + local.get $2 i32.load offset=4 - local.set $3 - local.get $0 + local.get $2 i32.load offset=8 - i32.const 2 + i32.const 1 i32.shr_u - local.set $2 - i32.const 0 - local.set $1 - loop $for-loop|0205 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $4 - i32.add - i32.const 255 - local.get $1 - i32.const 2 - i32.shl - local.get $3 - i32.add - i32.load - local.tee $0 - local.get $0 - i32.const 255 - i32.gt_u - select - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0205 - end - end - local.get $7 - local.get $5 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 15312 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $7 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + i32.const 15632 + call $~lib/util/sort/SORT + local.get $2 i32.const 0 - local.set $0 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 1 + i32.ne + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 15344 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15344 - i32.store - end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15376 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 15376 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> - end i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1158 - block $0of1159 - block $outOfRange160 - global.get $~argumentsLength - br_table $0of1159 $1of1158 $outOfRange160 - end - unreachable - end - i32.const 15408 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15408 - i32.store - end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15440 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 15440 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> - end + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 i32.const 0 - local.set $0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1162 - block $0of1163 - block $outOfRange164 - global.get $~argumentsLength - br_table $0of1163 $1of1162 $outOfRange164 - end - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of147 + block $0of148 + block $outOfRange49 + global.get $~argumentsLength + br_table $0of148 $1of147 $outOfRange49 end - i32.const 15472 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15472 - i32.store + unreachable end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15504 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 15504 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 1 - i32.ne - br_if $folding-inner41 + i32.const 15664 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> + i32.const 15664 + i32.store end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15696 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 15696 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of139 - block $0of140 - block $outOfRange41 - global.get $~argumentsLength - br_table $0of140 $1of139 $outOfRange41 - end - unreachable - end - i32.const 15536 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15536 - i32.store - end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15568 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 15568 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> - end + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $2 i32.const 0 - local.set $0 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of143 - block $0of144 - block $outOfRange45 - global.get $~argumentsLength - br_table $0of144 $1of143 $outOfRange45 - end - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of151 + block $0of152 + block $outOfRange53 + global.get $~argumentsLength + br_table $0of152 $1of151 $outOfRange53 end - i32.const 15600 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15600 - i32.store + unreachable end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15632 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 15632 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner41 + i32.const 15728 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> + i32.const 15728 + i32.store end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 2 + i32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15760 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 15760 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 2 + i32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of147 - block $0of148 - block $outOfRange49 - global.get $~argumentsLength - br_table $0of148 $1of147 $outOfRange49 - end - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $2 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $2 + i32.const 0 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of155 + block $0of156 + block $outOfRange57 + global.get $~argumentsLength + br_table $0of156 $1of155 $outOfRange57 end - i32.const 15664 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15664 - i32.store + unreachable end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15696 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 15696 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner41 + i32.const 15792 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> + i32.const 15792 + i32.store end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - local.set $0 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15824 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 15824 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.ne + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of151 - block $0of152 - block $outOfRange53 - global.get $~argumentsLength - br_table $0of152 $1of151 $outOfRange53 - end - unreachable - end - i32.const 15728 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15728 - i32.store - end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 2 - i32.ne - br_if $folding-inner37 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 3 - i32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15760 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 15760 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 3 - i32.ne - br_if $folding-inner39 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 2 - i32.ne - br_if $folding-inner40 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> - end i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $2 - i32.const 0 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of155 - block $0of156 - block $outOfRange57 - global.get $~argumentsLength - br_table $0of156 $1of155 $outOfRange57 - end - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $2 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $2 + i32.const 0 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of159 + block $0of160 + block $outOfRange61 + global.get $~argumentsLength + br_table $0of160 $1of159 $outOfRange61 end - i32.const 15792 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15792 - i32.store + unreachable end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner36 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 2 - i64.ne - br_if $folding-inner37 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 3 - i64.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15824 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 15824 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 3 - i64.ne - br_if $folding-inner39 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 2 - i64.ne - br_if $folding-inner40 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner41 + i32.const 15856 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> + i32.const 15856 + i32.store end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15888 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 15888 + call $~lib/util/sort/SORT + local.get $2 i32.const 0 - local.set $0 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.ne + br_if $folding-inner41 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $2 - i32.const 0 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of159 - block $0of160 - block $outOfRange61 - global.get $~argumentsLength - br_table $0of160 $1of159 $outOfRange61 - end - unreachable - end - i32.const 15856 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15856 - i32.store - end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner36 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 2 - i64.ne - br_if $folding-inner37 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15888 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 15888 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.ne - br_if $folding-inner39 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 2 - i64.ne - br_if $folding-inner40 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner41 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> - end i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $2 - i32.store - local.get $2 - i32.const 2 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $2 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $2 - i32.const 0 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16628 - i32.lt_s - br_if $folding-inner21 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of163 - block $0of164 - block $outOfRange65 - global.get $~argumentsLength - br_table $0of164 $1of163 $outOfRange65 - end - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 2 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $2 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $2 + i32.const 0 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16628 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of163 + block $0of164 + block $outOfRange65 + global.get $~argumentsLength + br_table $0of164 $1of163 $outOfRange65 end - i32.const 15920 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15920 - i32.store + unreachable end - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.ne - br_if $folding-inner36 - local.get $2 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 2 - f32.ne - br_if $folding-inner37 - local.get $2 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.ne - br_if $folding-inner38 - global.get $~lib/memory/__stack_pointer - i32.const 15952 - i32.store offset=8 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 15952 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.ne - br_if $folding-inner39 - local.get $2 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 2 - f32.ne - br_if $folding-inner40 - local.get $2 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.ne - br_if $folding-inner41 + i32.const 15920 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> + i32.const 15920 + i32.store end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.get $0 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.ne + br_if $folding-inner36 + local.get $2 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.ne + br_if $folding-inner37 + local.get $2 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.ne + br_if $folding-inner38 + global.get $~lib/memory/__stack_pointer + i32.const 15952 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 15952 + call $~lib/util/sort/SORT + local.get $2 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.ne + br_if $folding-inner39 + local.get $2 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.ne + br_if $folding-inner40 + local.get $2 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.ne + br_if $folding-inner41 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub diff --git a/tests/compiler/std/uri.release.wat b/tests/compiler/std/uri.release.wat index 3e9bb45a49..6ef3bad07a 100644 --- a/tests/compiler/std/uri.release.wat +++ b/tests/compiler/std/uri.release.wat @@ -1647,7 +1647,7 @@ local.get $6 i32.const 56319 i32.le_u - if (result i32) + if local.get $1 local.get $4 i32.le_u @@ -1694,10 +1694,8 @@ i32.or i32.const 65536 i32.add - else - local.get $6 + local.set $6 end - local.set $6 end local.get $8 i32.const 6 diff --git a/tests/compiler/wasi/trace.release.wat b/tests/compiler/wasi/trace.release.wat index a5111bb2e2..b212c78b8e 100644 --- a/tests/compiler/wasi/trace.release.wat +++ b/tests/compiler/wasi/trace.release.wat @@ -231,12 +231,10 @@ i32.const 12 i64.const 9071471065260641 i64.store + i32.const 0 + i32.const 1 local.get $0 - if (result i32) - i32.const 0 - else - i32.const 1 - end + select if (result i32) i32.const 19 else @@ -263,12 +261,10 @@ i32.const 4 i32.add local.set $0 + i32.const 0 + i32.const 1 local.get $1 - if (result i32) - i32.const 0 - else - i32.const 1 - end + select i32.eqz if local.get $1 From ae1b297342c6692103d716a1fee13b4ffa0dc7ef Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 19 Jun 2022 09:42:50 +0300 Subject: [PATCH 2/4] better --- src/module.ts | 2 +- tests/compiler/std-wasi/crypto.release.wat | 11 +- tests/compiler/std/typedarray.release.wat | 484 ++++++++++----------- tests/compiler/std/uri.release.wat | 2 - tests/compiler/wasi/trace.release.wat | 11 +- 5 files changed, 247 insertions(+), 263 deletions(-) diff --git a/src/module.ts b/src/module.ts index 290b104157..11587b461a 100644 --- a/src/module.ts +++ b/src/module.ts @@ -2469,7 +2469,6 @@ export class Module { passes.push("merge-blocks"); passes.push("vacuum"); - passes.push("optimize-instructions"); passes.push("simplify-globals-optimizing"); } // clean up @@ -2477,6 +2476,7 @@ export class Module { passes.push("memory-packing"); passes.push("remove-unused-module-elements"); passes.push("remove-unused-brs"); + passes.push("optimize-instructions"); this.runPasses(passes); } diff --git a/tests/compiler/std-wasi/crypto.release.wat b/tests/compiler/std-wasi/crypto.release.wat index 258bea7b46..8362d70f36 100644 --- a/tests/compiler/std-wasi/crypto.release.wat +++ b/tests/compiler/std-wasi/crypto.release.wat @@ -427,13 +427,8 @@ i32.const 12 i64.const 9071471065260641 i64.store - i32.const 0 - i32.const 1 local.get $0 - select if (result i32) - i32.const 19 - else local.get $0 i32.const 20 i32.sub @@ -449,6 +444,8 @@ call $~lib/string/String.UTF8.encodeUnsafe@varargs i32.const 19 i32.add + else + i32.const 19 end local.tee $0 i32.const 544106784 @@ -457,11 +454,7 @@ i32.const 4 i32.add local.set $0 - i32.const 0 - i32.const 1 local.get $1 - select - i32.eqz if local.get $1 i32.const 20 diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 13568259f0..fbcca5eab6 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -12864,28 +12864,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i64.const 0 i64.store - local.get $2 + local.get $3 i32.const 0 i32.store offset=8 - local.get $2 + local.get $3 i32.const 7728 i32.store - local.get $2 + local.get $3 i32.const 7740 i32.load - local.tee $3 - call $~lib/typedarray/Int32Array#constructor local.tee $2 + call $~lib/typedarray/Int32Array#constructor + local.tee $3 i32.store offset=4 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 7728 local.get $0 @@ -12901,16 +12901,16 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|0 local.get $1 local.get $4 @@ -12920,7 +12920,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.eqz @@ -12949,16 +12949,16 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.01 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.01 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|02 local.get $1 local.get $4 @@ -12968,7 +12968,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 11 @@ -13000,16 +13000,16 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.04 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.04 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|05 local.get $1 local.get $4 @@ -13019,7 +13019,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const -1 @@ -13051,16 +13051,16 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.07 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.07 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|08 local.get $1 local.get $4 @@ -13070,7 +13070,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -13102,7 +13102,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.010 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -13113,9 +13113,9 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.010 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|011 local.get $1 local.get $4 @@ -13125,7 +13125,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -13157,7 +13157,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.013 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -13168,9 +13168,9 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.013 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|014 local.get $1 local.get $4 @@ -13180,7 +13180,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -13212,7 +13212,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.016 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -13223,9 +13223,9 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.016 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|017 local.get $1 local.get $4 @@ -13235,7 +13235,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -13267,7 +13267,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -13278,9 +13278,9 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|020 local.get $1 local.get $4 @@ -13290,7 +13290,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 1 @@ -13320,18 +13320,18 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.022 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.const -100 i32.le_s i32.const 1 - local.get $3 + local.get $2 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.022 - local.get $3 + local.get $2 i32.const 100 i32.sub local.tee $1 @@ -13341,12 +13341,12 @@ i32.gt_s select local.set $1 - local.get $2 + local.get $3 i32.load offset=4 local.set $0 loop $while-continue|023 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 @@ -13381,14 +13381,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load offset=8 i32.const 2 @@ -13400,9 +13400,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -13443,14 +13443,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.05 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load offset=8 i32.const 2 @@ -13462,9 +13462,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -13508,14 +13508,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.011 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load offset=8 i32.const 2 @@ -13527,9 +13527,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -13573,14 +13573,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.017 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load offset=8 i32.const 2 @@ -13592,9 +13592,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -13639,7 +13639,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -13655,9 +13655,9 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|024 local.get $1 i32.const 0 @@ -13667,7 +13667,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -13697,7 +13697,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.026 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -13713,9 +13713,9 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|027 local.get $1 i32.const 0 @@ -13725,7 +13725,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -13755,7 +13755,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.029 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -13771,9 +13771,9 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|030 local.get $1 i32.const 0 @@ -13783,7 +13783,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -13813,7 +13813,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.032 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -13829,9 +13829,9 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|033 local.get $1 i32.const 0 @@ -13841,7 +13841,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 1 @@ -13871,7 +13871,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.035 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -13882,7 +13882,7 @@ i32.const 10 i32.sub local.set $1 - local.get $2 + local.get $3 i32.load offset=4 local.set $0 loop $while-continue|036 @@ -13923,7 +13923,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.038 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -13934,7 +13934,7 @@ i32.const 11 i32.sub local.set $1 - local.get $2 + local.get $3 i32.load offset=4 local.set $0 loop $while-continue|039 @@ -13973,7 +13973,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.const 4 i32.const 9 call $~lib/typedarray/Int32Array#subarray @@ -13988,22 +13988,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.041 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|042 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 3 @@ -14039,22 +14039,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.044 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|045 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 4 @@ -14088,22 +14088,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.047 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|048 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 5 @@ -14139,22 +14139,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.050 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|051 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 9 @@ -14190,22 +14190,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.053 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|054 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 10 @@ -14241,22 +14241,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.056 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|057 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 11 @@ -14292,26 +14292,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.const 1 i32.le_u i32.const 1 - local.get $3 + local.get $2 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.059 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|060 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 5 @@ -14347,26 +14347,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.const 2 i32.le_u i32.const 1 - local.get $3 + local.get $2 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.062 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|063 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 5 @@ -14420,28 +14420,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i64.const 0 i64.store - local.get $2 + local.get $3 i32.const 0 i32.store offset=8 - local.get $2 + local.get $3 i32.const 7728 i32.store - local.get $2 + local.get $3 i32.const 7740 i32.load - local.tee $3 - call $~lib/typedarray/Uint32Array#constructor local.tee $2 + call $~lib/typedarray/Uint32Array#constructor + local.tee $3 i32.store offset=4 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 7728 local.get $0 @@ -14457,16 +14457,16 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|0 local.get $1 local.get $4 @@ -14476,7 +14476,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.eqz @@ -14505,16 +14505,16 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.01 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.01 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|02 local.get $1 local.get $4 @@ -14524,7 +14524,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 11 @@ -14556,16 +14556,16 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.04 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.04 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|05 local.get $1 local.get $4 @@ -14575,7 +14575,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const -1 @@ -14607,16 +14607,16 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.07 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.07 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|08 local.get $1 local.get $4 @@ -14626,7 +14626,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -14658,7 +14658,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.010 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -14669,9 +14669,9 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.010 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|011 local.get $1 local.get $4 @@ -14681,7 +14681,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -14713,7 +14713,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.013 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -14724,9 +14724,9 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.013 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|014 local.get $1 local.get $4 @@ -14736,7 +14736,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -14768,7 +14768,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.016 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -14779,9 +14779,9 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.016 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|017 local.get $1 local.get $4 @@ -14791,7 +14791,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -14823,7 +14823,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -14834,9 +14834,9 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|020 local.get $1 local.get $4 @@ -14846,7 +14846,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 1 @@ -14876,18 +14876,18 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.022 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.const -100 i32.le_s i32.const 1 - local.get $3 + local.get $2 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.022 - local.get $3 + local.get $2 i32.const 100 i32.sub local.tee $1 @@ -14897,12 +14897,12 @@ i32.gt_s select local.set $1 - local.get $2 + local.get $3 i32.load offset=4 local.set $0 loop $while-continue|023 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 @@ -14937,14 +14937,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load offset=8 i32.const 2 @@ -14956,9 +14956,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -14999,14 +14999,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.05 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load offset=8 i32.const 2 @@ -15018,9 +15018,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -15064,14 +15064,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.011 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load offset=8 i32.const 2 @@ -15083,9 +15083,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -15129,14 +15129,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 + local.set $2 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.017 (result i32) i32.const -1 - local.get $2 + local.get $3 local.tee $1 i32.load offset=8 i32.const 2 @@ -15148,9 +15148,9 @@ local.get $0 i32.const 1 i32.sub - local.get $3 + local.get $2 local.get $0 - local.get $3 + local.get $2 i32.le_s select local.set $0 @@ -15195,7 +15195,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -15211,9 +15211,9 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|024 local.get $1 i32.const 0 @@ -15223,7 +15223,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -15253,7 +15253,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.026 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -15269,9 +15269,9 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|027 local.get $1 i32.const 0 @@ -15281,7 +15281,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -15311,7 +15311,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.029 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -15327,9 +15327,9 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|030 local.get $1 i32.const 0 @@ -15339,7 +15339,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 3 @@ -15369,7 +15369,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.032 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -15385,9 +15385,9 @@ i32.le_s select local.set $1 - local.get $2 + local.get $3 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|033 local.get $1 i32.const 0 @@ -15397,7 +15397,7 @@ local.tee $0 i32.const 2 i32.shl - local.get $3 + local.get $2 i32.add i32.load i32.const 1 @@ -15427,7 +15427,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.035 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -15438,7 +15438,7 @@ i32.const 10 i32.sub local.set $1 - local.get $2 + local.get $3 i32.load offset=4 local.set $0 loop $while-continue|036 @@ -15479,7 +15479,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.038 - local.get $2 + local.get $3 i32.load offset=8 i32.const 2 i32.shr_u @@ -15490,7 +15490,7 @@ i32.const 11 i32.sub local.set $1 - local.get $2 + local.get $3 i32.load offset=4 local.set $0 loop $while-continue|039 @@ -15529,7 +15529,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.const 9 call $~lib/typedarray/Uint32Array#subarray local.tee $4 @@ -15543,22 +15543,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.041 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|042 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 3 @@ -15594,22 +15594,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.044 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|045 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 4 @@ -15643,22 +15643,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.047 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|048 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 5 @@ -15694,22 +15694,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.050 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|051 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 9 @@ -15745,22 +15745,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.053 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|054 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 10 @@ -15796,22 +15796,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.056 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|057 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 11 @@ -15847,26 +15847,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.const 1 i32.le_u i32.const 1 - local.get $3 + local.get $2 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.059 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|060 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 5 @@ -15902,26 +15902,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.const 2 i32.le_u i32.const 1 - local.get $3 + local.get $2 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.062 local.get $4 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|063 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 + local.get $3 i32.add i32.load i32.const 5 diff --git a/tests/compiler/std/uri.release.wat b/tests/compiler/std/uri.release.wat index 6ef3bad07a..30e4fa44bf 100644 --- a/tests/compiler/std/uri.release.wat +++ b/tests/compiler/std/uri.release.wat @@ -1837,8 +1837,6 @@ local.tee $5 i32.const 4 i32.shr_u - i32.const 15 - i32.and i32.const 1676 i32.add i32.load8_u diff --git a/tests/compiler/wasi/trace.release.wat b/tests/compiler/wasi/trace.release.wat index b212c78b8e..43a0defd71 100644 --- a/tests/compiler/wasi/trace.release.wat +++ b/tests/compiler/wasi/trace.release.wat @@ -231,13 +231,8 @@ i32.const 12 i64.const 9071471065260641 i64.store - i32.const 0 - i32.const 1 local.get $0 - select if (result i32) - i32.const 19 - else local.get $0 i32.const 20 i32.sub @@ -253,6 +248,8 @@ call $~lib/string/String.UTF8.encodeUnsafe@varargs i32.const 19 i32.add + else + i32.const 19 end local.tee $0 i32.const 544106784 @@ -261,11 +258,7 @@ i32.const 4 i32.add local.set $0 - i32.const 0 - i32.const 1 local.get $1 - select - i32.eqz if local.get $1 i32.const 20 From ea79ed5d45fa29087566459a4ad4b53a0e691201 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 19 Jun 2022 10:16:14 +0300 Subject: [PATCH 3/4] better --- src/module.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/module.ts b/src/module.ts index 11587b461a..d9231c4dde 100644 --- a/src/module.ts +++ b/src/module.ts @@ -2470,13 +2470,13 @@ export class Module { passes.push("vacuum"); passes.push("simplify-globals-optimizing"); + passes.push("remove-unused-brs"); + passes.push("optimize-instructions"); } // clean up passes.push("duplicate-function-elimination"); passes.push("memory-packing"); passes.push("remove-unused-module-elements"); - passes.push("remove-unused-brs"); - passes.push("optimize-instructions"); this.runPasses(passes); } From e3acfd2240d6f798ff4982fceec898716886eec7 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Sun, 19 Jun 2022 17:46:53 +0300 Subject: [PATCH 4/4] more --- src/module.ts | 1 + tests/compiler/bindings/esm.release.wat | 156 +- tests/compiler/bindings/raw.release.wat | 156 +- tests/compiler/call-optional.release.wat | 2 +- tests/compiler/call-super.release.wat | 86 +- tests/compiler/class-implements.release.wat | 72 +- .../class-overloading-cast.release.wat | 72 +- tests/compiler/class-overloading.release.wat | 72 +- tests/compiler/class.release.wat | 88 +- tests/compiler/comma.release.wat | 4 +- tests/compiler/constructor.release.wat | 86 +- tests/compiler/do.release.wat | 72 +- tests/compiler/duplicate-fields.release.wat | 88 +- .../compiler/empty-exportruntime.release.wat | 94 +- tests/compiler/empty-new.release.wat | 72 +- .../exportstar-rereexport.release.wat | 72 +- .../extends-baseaggregate.release.wat | 88 +- tests/compiler/extends-recursive.release.wat | 74 +- .../compiler/field-initialization.release.wat | 90 +- tests/compiler/field.release.wat | 88 +- tests/compiler/for.release.wat | 72 +- tests/compiler/function-call.release.wat | 72 +- .../compiler/function-expression.release.wat | 74 +- tests/compiler/getter-call.release.wat | 72 +- tests/compiler/heap.release.wat | 66 +- tests/compiler/infer-array.release.wat | 100 +- tests/compiler/infer-generic.release.wat | 76 +- tests/compiler/inlining.release.wat | 86 +- tests/compiler/instanceof-class.release.wat | 72 +- tests/compiler/issues/1095.release.wat | 74 +- tests/compiler/issues/1225.release.wat | 72 +- tests/compiler/issues/1699.release.wat | 100 +- tests/compiler/issues/2166.release.wat | 72 +- tests/compiler/logical.release.wat | 72 +- tests/compiler/managed-cast.release.wat | 72 +- tests/compiler/memmove.release.wat | 6 +- tests/compiler/memset.release.wat | 6 +- tests/compiler/new.release.wat | 72 +- tests/compiler/number.release.wat | 120 +- tests/compiler/object-literal.release.wat | 90 +- .../optional-typeparameters.release.wat | 72 +- tests/compiler/reexport.release.wat | 72 +- tests/compiler/rereexport.release.wat | 72 +- tests/compiler/resolve-access.release.wat | 100 +- tests/compiler/resolve-binary.release.wat | 120 +- .../resolve-elementaccess.release.wat | 164 +- .../resolve-function-expression.release.wat | 94 +- tests/compiler/resolve-new.release.wat | 72 +- .../resolve-propertyaccess.release.wat | 94 +- tests/compiler/resolve-ternary.release.wat | 120 +- tests/compiler/resolve-unary.release.wat | 102 +- tests/compiler/rt/finalize.release.wat | 72 +- tests/compiler/rt/flags.release.wat | 4 +- tests/compiler/rt/instanceof.release.wat | 72 +- .../rt/runtime-incremental-export.release.wat | 94 +- .../rt/runtime-minimal-export.release.wat | 78 +- tests/compiler/simd.release.wat | 60 +- tests/compiler/std-wasi/console.release.wat | 138 +- tests/compiler/std-wasi/crypto.release.wat | 140 +- tests/compiler/std-wasi/process.release.wat | 176 +- tests/compiler/std/array-access.release.wat | 4 +- tests/compiler/std/array-literal.release.wat | 98 +- tests/compiler/std/array.release.wat | 968 +++--- tests/compiler/std/arraybuffer.release.wat | 92 +- tests/compiler/std/dataview.release.wat | 118 +- tests/compiler/std/date.release.wat | 176 +- tests/compiler/std/hash.release.wat | 14 +- tests/compiler/std/map.release.wat | 508 ++-- tests/compiler/std/math.release.wat | 82 +- tests/compiler/std/mod.release.wat | 8 +- tests/compiler/std/new.release.wat | 72 +- .../std/operator-overloading.release.wat | 72 +- tests/compiler/std/pointer.release.wat | 2 +- tests/compiler/std/set.release.wat | 410 ++- tests/compiler/std/static-array.release.wat | 104 +- tests/compiler/std/staticarray.release.wat | 262 +- .../std/string-casemapping.release.wat | 204 +- .../compiler/std/string-encoding.release.wat | 112 +- tests/compiler/std/string.release.wat | 308 +- tests/compiler/std/symbol.release.wat | 128 +- tests/compiler/std/typedarray.release.wat | 2583 ++++++++--------- tests/compiler/std/uri.release.wat | 148 +- tests/compiler/super-inline.release.wat | 72 +- tests/compiler/templateliteral.release.wat | 164 +- tests/compiler/throw.release.wat | 52 +- tests/compiler/typeof.release.wat | 72 +- tests/compiler/wasi/abort.release.wat | 6 +- tests/compiler/wasi/seed.release.wat | 4 +- tests/compiler/wasi/trace.release.wat | 136 +- tests/compiler/while.release.wat | 72 +- 90 files changed, 5921 insertions(+), 6025 deletions(-) diff --git a/src/module.ts b/src/module.ts index d9231c4dde..4e31ff6a1d 100644 --- a/src/module.ts +++ b/src/module.ts @@ -2464,6 +2464,7 @@ export class Module { passes.push("simplify-locals"); passes.push("coalesce-locals"); } + passes.push("optimize-instructions"); passes.push("remove-unused-brs"); passes.push("remove-unused-names"); passes.push("merge-blocks"); diff --git a/tests/compiler/bindings/esm.release.wat b/tests/compiler/bindings/esm.release.wat index a638463b81..333923028d 100644 --- a/tests/compiler/bindings/esm.release.wat +++ b/tests/compiler/bindings/esm.release.wat @@ -220,11 +220,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 ) @@ -232,8 +232,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -263,10 +263,10 @@ if (result i32) i32.const 1 else + local.get $2 i32.const 2048 i32.load - local.get $2 - i32.lt_u + i32.gt_u if i32.const 1520 i32.const 1584 @@ -289,23 +289,23 @@ i32.load offset=8 local.set $2 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -408,37 +408,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -589,12 +589,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -655,14 +655,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -678,14 +678,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -697,10 +697,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -737,11 +737,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1664 @@ -750,10 +750,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -765,11 +765,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1664 @@ -808,10 +808,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -868,10 +868,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -932,25 +932,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1007,23 +1007,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1179,13 +1179,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1225,10 +1225,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1237,6 +1237,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1245,7 +1246,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1259,12 +1259,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1277,6 +1277,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1285,7 +1286,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1406,6 +1406,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1414,7 +1415,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1467,12 +1467,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1664 @@ -1510,16 +1510,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1563,19 +1563,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1676,12 +1676,12 @@ local.get $2 ) (func $~lib/typedarray/Uint64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + local.get $1 local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1520 i32.const 1760 @@ -1700,14 +1700,14 @@ i64.store ) (func $~lib/staticarray/StaticArray#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1520 i32.const 1824 @@ -1716,22 +1716,22 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load ) (func $~lib/staticarray/StaticArray#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1520 i32.const 1824 @@ -1740,19 +1740,19 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $2 i32.store ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1520 i32.const 1888 @@ -1774,10 +1774,10 @@ (local $4 i32) (local $5 i32) (local $6 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -1980,11 +1980,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $3 @@ -2032,19 +2032,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -2630,19 +2630,19 @@ local.tee $2 i32.store loop $for-loop|0 + local.get $3 local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.get $3 - i32.gt_s + i32.lt_s if + local.get $3 local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.get $3 - i32.le_u + i32.ge_u if i32.const 1520 i32.const 1760 @@ -2671,26 +2671,26 @@ i32.const 0 local.set $3 loop $for-loop|1 + local.get $3 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.get $3 - i32.gt_s + i32.lt_s if + local.get $3 local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.get $3 i32.add local.set $4 + local.get $3 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.get $3 - i32.le_u + i32.ge_u if i32.const 1520 i32.const 1760 @@ -2821,14 +2821,14 @@ local.get $4 i32.store loop $for-loop|0 + local.get $2 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $2 - i32.gt_s + i32.lt_s if local.get $4 local.get $2 @@ -2846,23 +2846,23 @@ i32.const 0 local.set $2 loop $for-loop|1 + local.get $2 local.get $1 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $2 - i32.gt_s + i32.lt_s if local.get $4 + local.get $2 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $2 i32.add local.get $1 local.get $2 @@ -3024,10 +3024,10 @@ i32.const 0 local.set $0 loop $for-loop|0 + local.get $0 local.get $3 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $2 local.get $0 @@ -3045,15 +3045,15 @@ i32.const 0 local.set $0 loop $for-loop|1 + local.get $0 local.get $1 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $2 + local.get $0 local.get $3 i32.load offset=12 - local.get $0 i32.add local.get $1 local.get $0 diff --git a/tests/compiler/bindings/raw.release.wat b/tests/compiler/bindings/raw.release.wat index 6cecf08ac9..f5f70ccc7a 100644 --- a/tests/compiler/bindings/raw.release.wat +++ b/tests/compiler/bindings/raw.release.wat @@ -220,11 +220,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 ) @@ -232,8 +232,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -263,10 +263,10 @@ if (result i32) i32.const 1 else + local.get $2 i32.const 2048 i32.load - local.get $2 - i32.lt_u + i32.gt_u if i32.const 1520 i32.const 1584 @@ -289,23 +289,23 @@ i32.load offset=8 local.set $2 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -408,37 +408,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -589,12 +589,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -655,14 +655,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -678,14 +678,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -697,10 +697,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -737,11 +737,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1664 @@ -750,10 +750,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -765,11 +765,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1664 @@ -808,10 +808,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -868,10 +868,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -932,25 +932,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1007,23 +1007,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1179,13 +1179,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1225,10 +1225,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1237,6 +1237,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1245,7 +1246,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1259,12 +1259,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1277,6 +1277,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1285,7 +1286,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1406,6 +1406,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1414,7 +1415,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1467,12 +1467,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1664 @@ -1510,16 +1510,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1563,19 +1563,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1676,12 +1676,12 @@ local.get $2 ) (func $~lib/typedarray/Uint64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + local.get $1 local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1520 i32.const 1760 @@ -1700,14 +1700,14 @@ i64.store ) (func $~lib/staticarray/StaticArray#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1520 i32.const 1824 @@ -1716,22 +1716,22 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load ) (func $~lib/staticarray/StaticArray#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1520 i32.const 1824 @@ -1740,19 +1740,19 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $2 i32.store ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1520 i32.const 1888 @@ -1774,10 +1774,10 @@ (local $4 i32) (local $5 i32) (local $6 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -1980,11 +1980,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $3 @@ -2032,19 +2032,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -2630,19 +2630,19 @@ local.tee $2 i32.store loop $for-loop|0 + local.get $3 local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.get $3 - i32.gt_s + i32.lt_s if + local.get $3 local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.get $3 - i32.le_u + i32.ge_u if i32.const 1520 i32.const 1760 @@ -2671,26 +2671,26 @@ i32.const 0 local.set $3 loop $for-loop|1 + local.get $3 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.get $3 - i32.gt_s + i32.lt_s if + local.get $3 local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.get $3 i32.add local.set $4 + local.get $3 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.get $3 - i32.le_u + i32.ge_u if i32.const 1520 i32.const 1760 @@ -2821,14 +2821,14 @@ local.get $4 i32.store loop $for-loop|0 + local.get $2 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $2 - i32.gt_s + i32.lt_s if local.get $4 local.get $2 @@ -2846,23 +2846,23 @@ i32.const 0 local.set $2 loop $for-loop|1 + local.get $2 local.get $1 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $2 - i32.gt_s + i32.lt_s if local.get $4 + local.get $2 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $2 i32.add local.get $1 local.get $2 @@ -3024,10 +3024,10 @@ i32.const 0 local.set $0 loop $for-loop|0 + local.get $0 local.get $3 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $2 local.get $0 @@ -3045,15 +3045,15 @@ i32.const 0 local.set $0 loop $for-loop|1 + local.get $0 local.get $1 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $2 + local.get $0 local.get $3 i32.load offset=12 - local.get $0 i32.add local.get $1 local.get $0 diff --git a/tests/compiler/call-optional.release.wat b/tests/compiler/call-optional.release.wat index b8744c53b9..1ad83abdcf 100644 --- a/tests/compiler/call-optional.release.wat +++ b/tests/compiler/call-optional.release.wat @@ -31,10 +31,10 @@ i32.const -2 local.set $2 end - local.get $2 local.get $0 local.get $1 i32.add + local.get $2 i32.add ) (func $~start diff --git a/tests/compiler/call-super.release.wat b/tests/compiler/call-super.release.wat index 63c7e63910..1f66273759 100644 --- a/tests/compiler/call-super.release.wat +++ b/tests/compiler/call-super.release.wat @@ -176,37 +176,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -357,12 +357,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -423,14 +423,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -446,14 +446,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -465,10 +465,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -505,11 +505,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -518,10 +518,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -533,11 +533,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -576,10 +576,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -636,10 +636,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -700,25 +700,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -775,23 +775,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -947,13 +947,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -993,10 +993,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1005,6 +1005,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1013,7 +1014,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1027,12 +1027,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1045,6 +1045,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1053,7 +1054,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1174,6 +1174,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1182,7 +1183,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1235,12 +1235,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1440 @@ -1278,16 +1278,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1331,19 +1331,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -2057,8 +2057,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -2118,11 +2118,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -2136,10 +2136,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1488 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1296 i32.const 1360 @@ -2176,11 +2176,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/class-implements.release.wat b/tests/compiler/class-implements.release.wat index ab36093071..de6f1dc31a 100644 --- a/tests/compiler/class-implements.release.wat +++ b/tests/compiler/class-implements.release.wat @@ -190,37 +190,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -371,12 +371,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -437,14 +437,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -460,14 +460,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -479,10 +479,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -519,11 +519,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -532,10 +532,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -547,11 +547,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -590,10 +590,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -650,10 +650,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -714,25 +714,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -789,23 +789,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -958,11 +958,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -972,12 +972,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -990,6 +990,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -998,7 +999,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1203,19 +1203,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1432,8 +1432,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1493,11 +1493,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1511,10 +1511,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1504 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1551,11 +1551,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/class-overloading-cast.release.wat b/tests/compiler/class-overloading-cast.release.wat index 5993731266..9b3b0d2bb3 100644 --- a/tests/compiler/class-overloading-cast.release.wat +++ b/tests/compiler/class-overloading-cast.release.wat @@ -212,37 +212,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -393,12 +393,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -459,14 +459,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -482,14 +482,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -501,10 +501,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -541,11 +541,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -554,10 +554,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -569,11 +569,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -612,10 +612,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -672,10 +672,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -736,25 +736,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -811,23 +811,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -980,11 +980,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -994,12 +994,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1012,6 +1012,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1020,7 +1021,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1225,19 +1225,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1870,8 +1870,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1931,11 +1931,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1949,10 +1949,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1616 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1989,11 +1989,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/class-overloading.release.wat b/tests/compiler/class-overloading.release.wat index df255f7e8f..ff4df62b21 100644 --- a/tests/compiler/class-overloading.release.wat +++ b/tests/compiler/class-overloading.release.wat @@ -236,37 +236,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -417,12 +417,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -483,14 +483,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -506,14 +506,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -525,10 +525,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -565,11 +565,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1424 @@ -578,10 +578,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -593,11 +593,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1424 @@ -636,10 +636,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -696,10 +696,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -760,25 +760,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -835,23 +835,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1004,11 +1004,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1018,12 +1018,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1036,6 +1036,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1044,7 +1045,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1249,19 +1249,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -3004,8 +3004,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -3065,11 +3065,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -3083,10 +3083,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1792 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1280 i32.const 1344 @@ -3123,11 +3123,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/class.release.wat b/tests/compiler/class.release.wat index 219f4b7a5f..f912da8398 100644 --- a/tests/compiler/class.release.wat +++ b/tests/compiler/class.release.wat @@ -92,8 +92,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -153,11 +153,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -171,10 +171,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1536 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -197,23 +197,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -316,37 +316,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -497,12 +497,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -563,14 +563,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -586,14 +586,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -605,10 +605,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -645,11 +645,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -658,10 +658,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -673,11 +673,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -716,10 +716,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -776,10 +776,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -840,25 +840,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -915,23 +915,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1087,13 +1087,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1133,10 +1133,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1145,6 +1145,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1153,7 +1154,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1167,12 +1167,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1185,6 +1185,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1193,7 +1194,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1314,6 +1314,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1322,7 +1323,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1375,12 +1375,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1392 @@ -1418,16 +1418,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1471,19 +1471,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/comma.release.wat b/tests/compiler/comma.release.wat index 30a6004906..27ee13607a 100644 --- a/tests/compiler/comma.release.wat +++ b/tests/compiler/comma.release.wat @@ -82,9 +82,9 @@ i32.const 2 global.set $comma/a loop $for-loop|0 - global.get $comma/a local.get $0 - i32.gt_s + global.get $comma/a + i32.lt_s if global.get $comma/a i32.const 1 diff --git a/tests/compiler/constructor.release.wat b/tests/compiler/constructor.release.wat index d5e2fd03c3..cb96b2304a 100644 --- a/tests/compiler/constructor.release.wat +++ b/tests/compiler/constructor.release.wat @@ -239,37 +239,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -420,12 +420,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -486,14 +486,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -509,14 +509,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -528,10 +528,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -568,11 +568,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -581,10 +581,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -596,11 +596,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -639,10 +639,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -699,10 +699,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -763,25 +763,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -838,23 +838,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1010,13 +1010,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1056,10 +1056,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1068,6 +1068,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1076,7 +1077,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1090,12 +1090,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1108,6 +1108,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1116,7 +1117,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1237,6 +1237,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1245,7 +1246,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1298,12 +1298,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1392 @@ -1341,16 +1341,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1394,19 +1394,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1890,8 +1890,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1951,11 +1951,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1969,10 +1969,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1488 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -2009,11 +2009,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/do.release.wat b/tests/compiler/do.release.wat index da6b9a9b47..d62f29d1f4 100644 --- a/tests/compiler/do.release.wat +++ b/tests/compiler/do.release.wat @@ -176,37 +176,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -357,12 +357,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -423,14 +423,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -446,14 +446,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -465,10 +465,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -505,11 +505,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1424 @@ -518,10 +518,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -533,11 +533,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1424 @@ -576,10 +576,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -636,10 +636,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -700,25 +700,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -775,23 +775,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -944,11 +944,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -958,12 +958,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -976,6 +976,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -984,7 +985,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1691,19 +1691,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1748,8 +1748,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1809,11 +1809,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1827,10 +1827,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1472 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1280 i32.const 1344 @@ -1867,11 +1867,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/duplicate-fields.release.wat b/tests/compiler/duplicate-fields.release.wat index a62505892e..de6a5d9544 100644 --- a/tests/compiler/duplicate-fields.release.wat +++ b/tests/compiler/duplicate-fields.release.wat @@ -100,8 +100,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -161,11 +161,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -179,10 +179,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1504 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -205,23 +205,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -324,37 +324,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -505,12 +505,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -571,14 +571,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -594,14 +594,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -613,10 +613,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -653,11 +653,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -666,10 +666,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -681,11 +681,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -724,10 +724,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -784,10 +784,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -848,25 +848,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -923,23 +923,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1095,13 +1095,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1141,10 +1141,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1153,6 +1153,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1161,7 +1162,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1175,12 +1175,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1193,6 +1193,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1201,7 +1202,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1322,6 +1322,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1330,7 +1331,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1383,12 +1383,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1392 @@ -1426,16 +1426,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1479,19 +1479,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/empty-exportruntime.release.wat b/tests/compiler/empty-exportruntime.release.wat index d1611e10a5..5e8a23b58b 100644 --- a/tests/compiler/empty-exportruntime.release.wat +++ b/tests/compiler/empty-exportruntime.release.wat @@ -134,11 +134,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 ) @@ -146,8 +146,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -177,10 +177,10 @@ if (result i32) i32.const 1 else + local.get $2 i32.const 1568 i32.load - local.get $2 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -203,23 +203,23 @@ i32.load offset=8 local.set $2 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -322,37 +322,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -503,12 +503,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -569,14 +569,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -592,14 +592,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -611,10 +611,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -651,11 +651,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -664,10 +664,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -679,11 +679,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -722,10 +722,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -782,10 +782,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -846,25 +846,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -921,23 +921,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1093,13 +1093,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1139,10 +1139,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1151,6 +1151,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1159,7 +1160,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1173,12 +1173,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1191,6 +1191,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1199,7 +1200,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1320,6 +1320,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1328,7 +1329,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1381,12 +1381,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1392 @@ -1424,16 +1424,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1477,19 +1477,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1551,11 +1551,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $3 @@ -1603,19 +1603,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 diff --git a/tests/compiler/empty-new.release.wat b/tests/compiler/empty-new.release.wat index d52a19b681..bbe6dc5941 100644 --- a/tests/compiler/empty-new.release.wat +++ b/tests/compiler/empty-new.release.wat @@ -172,37 +172,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -353,12 +353,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -419,14 +419,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -442,14 +442,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -461,10 +461,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -501,11 +501,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -514,10 +514,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -529,11 +529,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -572,10 +572,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -632,10 +632,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -696,25 +696,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -771,23 +771,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -940,11 +940,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -954,12 +954,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -972,6 +972,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -980,7 +981,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1243,19 +1243,19 @@ i32.load offset=8 local.set $2 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1291,8 +1291,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1352,11 +1352,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1370,10 +1370,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1440 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1410,11 +1410,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/exportstar-rereexport.release.wat b/tests/compiler/exportstar-rereexport.release.wat index 876eadac0a..de594b1be2 100644 --- a/tests/compiler/exportstar-rereexport.release.wat +++ b/tests/compiler/exportstar-rereexport.release.wat @@ -207,37 +207,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -388,12 +388,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -454,14 +454,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -477,14 +477,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -496,10 +496,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -536,11 +536,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -549,10 +549,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -564,11 +564,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -607,10 +607,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -667,10 +667,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -731,25 +731,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -806,23 +806,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -975,11 +975,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -989,12 +989,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1007,6 +1007,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1015,7 +1016,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1403,19 +1403,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1465,8 +1465,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1526,11 +1526,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1544,10 +1544,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1536 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1296 i32.const 1360 @@ -1584,11 +1584,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/extends-baseaggregate.release.wat b/tests/compiler/extends-baseaggregate.release.wat index 032fc360fc..5447244b76 100644 --- a/tests/compiler/extends-baseaggregate.release.wat +++ b/tests/compiler/extends-baseaggregate.release.wat @@ -98,8 +98,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -159,11 +159,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -177,10 +177,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1696 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1408 i32.const 1472 @@ -203,23 +203,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -322,37 +322,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -503,12 +503,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -569,14 +569,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -592,14 +592,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -611,10 +611,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -651,11 +651,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1552 @@ -664,10 +664,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -679,11 +679,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1552 @@ -722,10 +722,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -782,10 +782,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -846,25 +846,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -921,23 +921,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1093,13 +1093,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1139,10 +1139,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1151,6 +1151,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1159,7 +1160,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1173,12 +1173,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1191,6 +1191,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1199,7 +1200,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1320,6 +1320,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1328,7 +1329,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1381,12 +1381,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1552 @@ -1424,16 +1424,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1477,19 +1477,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/extends-recursive.release.wat b/tests/compiler/extends-recursive.release.wat index 5c204c2c0f..cc4c9842b2 100644 --- a/tests/compiler/extends-recursive.release.wat +++ b/tests/compiler/extends-recursive.release.wat @@ -174,37 +174,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -355,12 +355,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -421,14 +421,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -444,14 +444,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -463,10 +463,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -503,11 +503,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -516,10 +516,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -531,11 +531,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -574,10 +574,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -634,10 +634,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -698,25 +698,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -773,23 +773,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -942,11 +942,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -956,12 +956,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -974,6 +974,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -982,7 +983,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1187,19 +1187,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1360,8 +1360,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -1421,11 +1421,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -1439,10 +1439,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1440 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1465,23 +1465,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/field-initialization.release.wat b/tests/compiler/field-initialization.release.wat index 25a85465fc..d8f9c226ad 100644 --- a/tests/compiler/field-initialization.release.wat +++ b/tests/compiler/field-initialization.release.wat @@ -105,8 +105,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -166,11 +166,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -184,10 +184,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1792 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -210,23 +210,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -329,37 +329,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -510,12 +510,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -576,14 +576,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -599,14 +599,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -618,10 +618,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -658,11 +658,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -671,10 +671,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -686,11 +686,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -729,10 +729,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -789,10 +789,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -853,25 +853,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -928,23 +928,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1100,13 +1100,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1146,10 +1146,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1158,6 +1158,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1166,7 +1167,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1180,12 +1180,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1198,6 +1198,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1206,7 +1207,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1327,6 +1327,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1335,7 +1336,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1388,12 +1388,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1392 @@ -1431,16 +1431,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1484,19 +1484,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -2239,9 +2239,9 @@ global.set $~lib/memory/__stack_pointer local.get $2 i32.store offset=4 + local.get $0 local.get $2 i32.load - local.get $0 i32.ne if i32.const 0 diff --git a/tests/compiler/field.release.wat b/tests/compiler/field.release.wat index 592f8a2351..8526f3d8e0 100644 --- a/tests/compiler/field.release.wat +++ b/tests/compiler/field.release.wat @@ -83,8 +83,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -144,11 +144,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -162,10 +162,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1472 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -188,23 +188,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -307,37 +307,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -488,12 +488,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -554,14 +554,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -577,14 +577,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -596,10 +596,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -636,11 +636,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -649,10 +649,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -664,11 +664,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -707,10 +707,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -767,10 +767,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -831,25 +831,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -906,23 +906,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1078,13 +1078,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1124,10 +1124,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1136,6 +1136,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1144,7 +1145,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1158,12 +1158,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1176,6 +1176,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1184,7 +1185,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1305,6 +1305,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1313,7 +1314,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1366,12 +1366,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1392 @@ -1409,16 +1409,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1462,19 +1462,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/for.release.wat b/tests/compiler/for.release.wat index 866daa10bd..cb9acc257b 100644 --- a/tests/compiler/for.release.wat +++ b/tests/compiler/for.release.wat @@ -176,37 +176,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -357,12 +357,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -423,14 +423,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -446,14 +446,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -465,10 +465,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -505,11 +505,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1424 @@ -518,10 +518,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -533,11 +533,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1424 @@ -576,10 +576,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -636,10 +636,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -700,25 +700,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -775,23 +775,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -944,11 +944,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -958,12 +958,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -976,6 +976,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -984,7 +985,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1687,19 +1687,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1744,8 +1744,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1805,11 +1805,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1823,10 +1823,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1472 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1280 i32.const 1344 @@ -1863,11 +1863,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/function-call.release.wat b/tests/compiler/function-call.release.wat index b96a5581ef..e99cea5dce 100644 --- a/tests/compiler/function-call.release.wat +++ b/tests/compiler/function-call.release.wat @@ -214,37 +214,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -395,12 +395,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -461,14 +461,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -484,14 +484,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -503,10 +503,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -543,11 +543,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -556,10 +556,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -571,11 +571,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -614,10 +614,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -674,10 +674,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -738,25 +738,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -813,23 +813,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -982,11 +982,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -996,12 +996,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1014,6 +1014,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1022,7 +1023,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1227,19 +1227,19 @@ i32.load offset=8 local.set $2 local.get $0 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $0 local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1496,8 +1496,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1557,11 +1557,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1575,10 +1575,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1760 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1472 i32.const 1536 @@ -1615,11 +1615,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/function-expression.release.wat b/tests/compiler/function-expression.release.wat index be395479ba..1b48f86156 100644 --- a/tests/compiler/function-expression.release.wat +++ b/tests/compiler/function-expression.release.wat @@ -151,8 +151,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -212,11 +212,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -230,10 +230,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 2112 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1792 i32.const 1856 @@ -256,23 +256,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -375,37 +375,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -556,12 +556,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -622,14 +622,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -645,14 +645,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -664,10 +664,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -704,11 +704,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1936 @@ -717,10 +717,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -732,11 +732,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1936 @@ -775,10 +775,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -835,10 +835,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -899,25 +899,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -974,23 +974,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1143,11 +1143,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1157,12 +1157,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1175,6 +1175,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1183,7 +1184,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1491,19 +1491,19 @@ i32.load offset=8 local.set $4 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $4 i32.store offset=8 local.get $4 + local.get $0 local.get $4 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/getter-call.release.wat b/tests/compiler/getter-call.release.wat index 4783d3dae7..8c4538296b 100644 --- a/tests/compiler/getter-call.release.wat +++ b/tests/compiler/getter-call.release.wat @@ -179,37 +179,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -360,12 +360,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -426,14 +426,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -449,14 +449,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -468,10 +468,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -508,11 +508,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -521,10 +521,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -536,11 +536,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -579,10 +579,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -639,10 +639,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -703,25 +703,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -778,23 +778,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -947,11 +947,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -961,12 +961,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -979,6 +979,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -987,7 +988,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1288,19 +1288,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1377,8 +1377,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1438,11 +1438,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1456,10 +1456,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1472 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1496,11 +1496,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/heap.release.wat b/tests/compiler/heap.release.wat index 29f9ecc7bf..04805b3570 100644 --- a/tests/compiler/heap.release.wat +++ b/tests/compiler/heap.release.wat @@ -111,37 +111,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -292,12 +292,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -358,14 +358,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -381,14 +381,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -400,10 +400,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -440,11 +440,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1056 @@ -453,10 +453,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -468,11 +468,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1056 @@ -511,10 +511,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -571,10 +571,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -642,13 +642,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -688,10 +688,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -700,6 +700,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -708,7 +709,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -722,12 +722,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -740,6 +740,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -748,7 +749,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -785,16 +785,16 @@ i32.ge_u if local.get $1 + local.get $2 local.get $3 i32.const 2 i32.and - local.get $2 i32.or i32.store - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $1 local.get $4 @@ -851,6 +851,7 @@ i32.sub i32.ne i32.shl + local.get $2 i32.const 1 i32.const 27 local.get $2 @@ -859,7 +860,6 @@ i32.shl i32.const 1 i32.sub - local.get $2 i32.add local.get $2 local.get $2 @@ -912,12 +912,12 @@ unreachable end end + local.get $2 local.get $1 i32.load i32.const -4 i32.and - local.get $2 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1056 @@ -1070,7 +1070,6 @@ i32.const 1 i32.and if - local.get $5 local.get $4 i32.const 4 i32.add @@ -1079,16 +1078,17 @@ i32.and i32.add local.tee $4 - i32.le_u + local.get $5 + i32.ge_u if local.get $3 local.get $2 call $~lib/rt/tlsf/removeBlock local.get $0 - local.get $4 local.get $1 i32.const 3 i32.and + local.get $4 i32.or i32.store local.get $3 diff --git a/tests/compiler/infer-array.release.wat b/tests/compiler/infer-array.release.wat index b9e609e6d0..c055b1145c 100644 --- a/tests/compiler/infer-array.release.wat +++ b/tests/compiler/infer-array.release.wat @@ -119,8 +119,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -180,11 +180,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -198,10 +198,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 2112 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1280 i32.const 1344 @@ -224,23 +224,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -343,37 +343,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -524,12 +524,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -590,14 +590,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -613,14 +613,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -632,10 +632,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -672,11 +672,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1424 @@ -685,10 +685,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -700,11 +700,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1424 @@ -743,10 +743,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -803,10 +803,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -867,25 +867,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -942,23 +942,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1114,13 +1114,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1160,10 +1160,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1172,6 +1172,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1180,7 +1181,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1194,12 +1194,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1212,6 +1212,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1220,7 +1221,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1341,6 +1341,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1349,7 +1350,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1402,12 +1402,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1424 @@ -1445,16 +1445,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1498,19 +1498,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1569,10 +1569,10 @@ drop ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1280 i32.const 1488 @@ -1590,10 +1590,10 @@ i32.load ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1280 i32.const 1488 @@ -2199,10 +2199,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1280 i32.const 1488 diff --git a/tests/compiler/infer-generic.release.wat b/tests/compiler/infer-generic.release.wat index 003504e4c8..6279d2b748 100644 --- a/tests/compiler/infer-generic.release.wat +++ b/tests/compiler/infer-generic.release.wat @@ -201,37 +201,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -382,12 +382,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -448,14 +448,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -471,14 +471,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -490,10 +490,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -530,11 +530,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1568 @@ -543,10 +543,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -558,11 +558,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1568 @@ -601,10 +601,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -661,10 +661,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -725,25 +725,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -800,23 +800,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -969,11 +969,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -983,12 +983,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1001,6 +1001,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1009,7 +1010,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1214,19 +1214,19 @@ i32.load offset=8 local.set $2 local.get $0 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $0 local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1321,6 +1321,7 @@ i32.load local.set $3 loop $for-loop|0 + local.get $0 local.get $3 i32.const 1164 i32.load @@ -1329,8 +1330,7 @@ local.get $3 i32.gt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.const 1156 @@ -1472,8 +1472,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1533,11 +1533,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1551,10 +1551,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1616 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1424 i32.const 1488 @@ -1591,11 +1591,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/inlining.release.wat b/tests/compiler/inlining.release.wat index 94b20561ca..46aa5b6879 100644 --- a/tests/compiler/inlining.release.wat +++ b/tests/compiler/inlining.release.wat @@ -188,37 +188,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -369,12 +369,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -435,14 +435,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -458,14 +458,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -477,10 +477,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -517,11 +517,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1472 @@ -530,10 +530,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -545,11 +545,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1472 @@ -588,10 +588,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -648,10 +648,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -712,25 +712,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -787,23 +787,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -959,13 +959,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1005,10 +1005,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1017,6 +1017,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1025,7 +1026,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1039,12 +1039,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1057,6 +1057,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1065,7 +1066,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1186,6 +1186,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1194,7 +1195,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1247,12 +1247,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1472 @@ -1290,16 +1290,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1343,19 +1343,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1624,8 +1624,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1685,11 +1685,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1703,10 +1703,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1520 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1328 i32.const 1392 @@ -1743,11 +1743,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/instanceof-class.release.wat b/tests/compiler/instanceof-class.release.wat index 002f2e6542..8a55e8b949 100644 --- a/tests/compiler/instanceof-class.release.wat +++ b/tests/compiler/instanceof-class.release.wat @@ -190,37 +190,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -371,12 +371,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -437,14 +437,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -460,14 +460,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -479,10 +479,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -519,11 +519,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -532,10 +532,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -547,11 +547,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -590,10 +590,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -650,10 +650,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -714,25 +714,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -789,23 +789,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -958,11 +958,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -972,12 +972,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -990,6 +990,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -998,7 +999,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1203,19 +1203,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1523,8 +1523,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1584,11 +1584,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1602,10 +1602,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1504 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1642,11 +1642,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/issues/1095.release.wat b/tests/compiler/issues/1095.release.wat index f3a3b2466c..af20bd99bf 100644 --- a/tests/compiler/issues/1095.release.wat +++ b/tests/compiler/issues/1095.release.wat @@ -87,8 +87,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -148,11 +148,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -166,10 +166,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1584 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -192,23 +192,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -311,37 +311,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -492,12 +492,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -558,14 +558,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -581,14 +581,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -600,10 +600,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -640,11 +640,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -653,10 +653,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -668,11 +668,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -711,10 +711,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -771,10 +771,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -835,25 +835,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -910,23 +910,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1079,11 +1079,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1093,12 +1093,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1111,6 +1111,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1119,7 +1120,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1324,19 +1324,19 @@ i32.load offset=8 local.set $2 local.get $0 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $0 local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/issues/1225.release.wat b/tests/compiler/issues/1225.release.wat index ff4e46890d..09bcc40685 100644 --- a/tests/compiler/issues/1225.release.wat +++ b/tests/compiler/issues/1225.release.wat @@ -185,37 +185,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -366,12 +366,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -432,14 +432,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -455,14 +455,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -474,10 +474,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -514,11 +514,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -527,10 +527,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -542,11 +542,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -585,10 +585,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -645,10 +645,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -709,25 +709,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -784,23 +784,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -953,11 +953,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -967,12 +967,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -985,6 +985,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -993,7 +994,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1258,19 +1258,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1423,8 +1423,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1484,11 +1484,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1502,10 +1502,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1488 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1542,11 +1542,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/issues/1699.release.wat b/tests/compiler/issues/1699.release.wat index 9854775515..4bd0b09542 100644 --- a/tests/compiler/issues/1699.release.wat +++ b/tests/compiler/issues/1699.release.wat @@ -94,8 +94,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -155,11 +155,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -173,10 +173,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1712 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1344 i32.const 1408 @@ -199,23 +199,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -318,37 +318,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -499,12 +499,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -565,14 +565,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -588,14 +588,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -607,10 +607,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -647,11 +647,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1488 @@ -660,10 +660,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -675,11 +675,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1488 @@ -718,10 +718,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -778,10 +778,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -842,25 +842,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -917,23 +917,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1089,13 +1089,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1135,10 +1135,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1147,6 +1147,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1155,7 +1156,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1169,12 +1169,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1187,6 +1187,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1195,7 +1196,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1316,6 +1316,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1324,7 +1325,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1377,12 +1377,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1488 @@ -1420,16 +1420,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1473,19 +1473,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1514,10 +1514,10 @@ (local $4 i32) (local $5 i32) (local $6 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -1856,10 +1856,10 @@ local.get $1 call $~lib/array/Array#__set loop $for-loop|0 + local.get $0 local.get $3 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if global.get $~lib/memory/__stack_pointer call $issues/1699/MultiAssignmentTest#constructor @@ -1980,10 +1980,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1344 i32.const 1104 diff --git a/tests/compiler/issues/2166.release.wat b/tests/compiler/issues/2166.release.wat index b300e213d5..c02200ee5d 100644 --- a/tests/compiler/issues/2166.release.wat +++ b/tests/compiler/issues/2166.release.wat @@ -185,37 +185,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -366,12 +366,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -432,14 +432,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -455,14 +455,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -474,10 +474,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -514,11 +514,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -527,10 +527,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -542,11 +542,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -585,10 +585,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -645,10 +645,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -709,25 +709,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -784,23 +784,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -953,11 +953,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -967,12 +967,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -985,6 +985,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -993,7 +994,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1198,19 +1198,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1637,8 +1637,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1698,11 +1698,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1716,10 +1716,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1632 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1756,11 +1756,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/logical.release.wat b/tests/compiler/logical.release.wat index 72fe274540..e6503c7536 100644 --- a/tests/compiler/logical.release.wat +++ b/tests/compiler/logical.release.wat @@ -176,37 +176,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -357,12 +357,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -423,14 +423,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -446,14 +446,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -465,10 +465,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -505,11 +505,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -518,10 +518,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -533,11 +533,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -576,10 +576,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -636,10 +636,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -700,25 +700,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -775,23 +775,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -944,11 +944,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -958,12 +958,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -976,6 +976,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -984,7 +985,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1360,19 +1360,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1417,8 +1417,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1478,11 +1478,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1496,10 +1496,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1488 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1296 i32.const 1360 @@ -1536,11 +1536,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/managed-cast.release.wat b/tests/compiler/managed-cast.release.wat index 7960564e04..7ab03bc3d4 100644 --- a/tests/compiler/managed-cast.release.wat +++ b/tests/compiler/managed-cast.release.wat @@ -180,37 +180,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -361,12 +361,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -427,14 +427,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -450,14 +450,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -469,10 +469,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -509,11 +509,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -522,10 +522,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -537,11 +537,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -580,10 +580,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -640,10 +640,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -704,25 +704,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -779,23 +779,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -948,11 +948,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -962,12 +962,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -980,6 +980,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -988,7 +989,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1193,19 +1193,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1751,8 +1751,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1812,11 +1812,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1830,10 +1830,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1632 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1870,11 +1870,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/memmove.release.wat b/tests/compiler/memmove.release.wat index decfd1403c..897fb14bbb 100644 --- a/tests/compiler/memmove.release.wat +++ b/tests/compiler/memmove.release.wat @@ -137,11 +137,11 @@ local.get $5 return end - local.get $0 local.get $2 i32.const 1 i32.sub local.tee $2 + local.get $0 i32.add local.get $1 local.get $2 @@ -156,11 +156,11 @@ i32.const 8 i32.ge_u if - local.get $0 local.get $2 i32.const 8 i32.sub local.tee $2 + local.get $0 i32.add local.get $1 local.get $2 @@ -174,11 +174,11 @@ loop $while-continue|5 local.get $2 if - local.get $0 local.get $2 i32.const 1 i32.sub local.tee $2 + local.get $0 i32.add local.get $1 local.get $2 diff --git a/tests/compiler/memset.release.wat b/tests/compiler/memset.release.wat index f65e7bbefe..ce3406910e 100644 --- a/tests/compiler/memset.release.wat +++ b/tests/compiler/memset.release.wat @@ -67,13 +67,13 @@ i32.const 8 i32.le_u br_if $folding-inner0 - local.get $0 i32.const 0 local.get $0 i32.sub i32.const 3 i32.and local.tee $4 + local.get $0 i32.add local.tee $0 local.get $1 @@ -83,13 +83,13 @@ i32.mul local.tee $1 i32.store - local.get $0 local.get $2 local.get $4 i32.sub i32.const -4 i32.and local.tee $2 + local.get $0 i32.add i32.const 4 i32.sub @@ -158,12 +158,12 @@ local.get $1 i32.store local.get $0 - local.get $0 i32.const 4 i32.and i32.const 24 i32.add local.tee $4 + local.get $0 i32.add local.set $0 local.get $2 diff --git a/tests/compiler/new.release.wat b/tests/compiler/new.release.wat index 01daec402f..bf063a2cfe 100644 --- a/tests/compiler/new.release.wat +++ b/tests/compiler/new.release.wat @@ -216,37 +216,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -397,12 +397,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -463,14 +463,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -486,14 +486,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -505,10 +505,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -545,11 +545,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -558,10 +558,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -573,11 +573,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -616,10 +616,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -676,10 +676,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -740,25 +740,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -815,23 +815,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -984,11 +984,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -998,12 +998,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1016,6 +1016,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1024,7 +1025,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1229,19 +1229,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1551,8 +1551,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1612,11 +1612,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1630,10 +1630,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1440 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1670,11 +1670,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/number.release.wat b/tests/compiler/number.release.wat index 4a790ad51f..546d9d890b 100644 --- a/tests/compiler/number.release.wat +++ b/tests/compiler/number.release.wat @@ -223,37 +223,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -404,12 +404,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -470,14 +470,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -493,14 +493,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -512,10 +512,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -552,11 +552,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -565,10 +565,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -580,11 +580,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -623,10 +623,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -683,10 +683,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -747,25 +747,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -822,23 +822,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -994,13 +994,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1040,10 +1040,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1052,6 +1052,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1060,7 +1061,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1074,12 +1074,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1092,6 +1092,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1100,7 +1101,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1221,6 +1221,7 @@ i32.sub i32.ne i32.shl + local.get $4 i32.const 1 i32.const 27 local.get $4 @@ -1229,7 +1230,6 @@ i32.shl i32.const 1 i32.sub - local.get $4 i32.add local.get $4 local.get $4 @@ -1282,12 +1282,12 @@ unreachable end end + local.get $4 local.get $1 i32.load i32.const -4 i32.and - local.get $4 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1616 @@ -1325,16 +1325,16 @@ i32.ge_u if local.get $1 + local.get $4 local.get $2 i32.const 2 i32.and - local.get $4 i32.or i32.store - local.get $4 local.get $1 i32.const 4 i32.add + local.get $4 i32.add local.tee $2 local.get $5 @@ -1378,19 +1378,19 @@ i32.load offset=8 local.set $3 local.get $1 - global.get $~lib/rt/itcms/white local.get $2 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $3 i32.store offset=8 local.get $3 + local.get $1 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 @@ -1429,13 +1429,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -1464,13 +1464,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -1490,12 +1490,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -1505,12 +1505,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -1768,7 +1768,6 @@ local.get $0 i64.sub local.set $9 - local.get $1 i64.const 1 i32.const 0 local.get $2 @@ -1781,6 +1780,7 @@ i64.const 1 i64.sub local.tee $12 + local.get $1 i64.and local.set $7 local.get $1 @@ -1980,19 +1980,19 @@ i32.const 1 i32.sub local.set $2 - local.get $7 + local.get $3 local.get $5 i64.extend_i32_u local.get $10 i64.extend_i32_s i64.shl + local.get $7 i64.add local.tee $0 - local.get $3 - i64.le_u + i64.ge_u if - local.get $2 global.get $~lib/util/number/_K + local.get $2 i32.add global.set $~lib/util/number/_K local.get $2 @@ -2017,11 +2017,11 @@ local.get $0 local.get $9 i64.lt_u - local.get $1 local.get $3 local.get $0 i64.sub - i64.le_u + local.get $1 + i64.ge_u i32.and if (result i32) local.get $9 @@ -2103,20 +2103,21 @@ i32.const 1 i32.sub local.set $2 - local.get $3 local.get $0 local.get $12 i64.and local.tee $7 - i64.le_u + local.get $3 + i64.ge_u br_if $while-continue|4 end - local.get $2 global.get $~lib/util/number/_K + local.get $2 i32.add global.set $~lib/util/number/_K local.get $7 local.set $0 + local.get $9 i32.const 0 local.get $2 i32.sub @@ -2125,7 +2126,6 @@ i32.const 4384 i32.add i64.load32_u - local.get $9 i64.mul local.set $1 local.get $4 @@ -2140,11 +2140,11 @@ local.get $0 local.get $1 i64.lt_u - local.get $11 local.get $3 local.get $0 i64.sub - i64.le_u + local.get $11 + i64.ge_u i32.and if (result i32) local.get $1 @@ -2988,8 +2988,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -3049,11 +3049,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -3067,10 +3067,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 4656 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1472 i32.const 1536 @@ -3107,11 +3107,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/object-literal.release.wat b/tests/compiler/object-literal.release.wat index d8169f99a2..943f5dd550 100644 --- a/tests/compiler/object-literal.release.wat +++ b/tests/compiler/object-literal.release.wat @@ -51,8 +51,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -112,11 +112,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -130,10 +130,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1712 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1200 i32.const 1264 @@ -156,23 +156,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -320,37 +320,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -501,12 +501,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -567,14 +567,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -590,14 +590,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -609,10 +609,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -649,11 +649,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -662,10 +662,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -677,11 +677,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -720,10 +720,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -780,10 +780,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -894,25 +894,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -969,23 +969,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1097,13 +1097,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1143,10 +1143,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1155,6 +1155,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1163,7 +1164,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1177,12 +1177,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1195,6 +1195,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1203,7 +1204,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1256,6 +1256,7 @@ i32.sub i32.ne i32.shl + local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1264,7 +1265,6 @@ i32.shl i32.const 1 i32.sub - local.get $3 i32.add local.get $3 local.get $3 @@ -1317,12 +1317,12 @@ unreachable end end + local.get $3 local.get $1 i32.load i32.const -4 i32.and - local.get $3 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1440 @@ -1360,16 +1360,16 @@ i32.ge_u if local.get $1 + local.get $3 local.get $4 i32.const 2 i32.and - local.get $3 i32.or i32.store - local.get $3 local.get $1 i32.const 4 i32.add + local.get $3 i32.add local.tee $3 local.get $2 @@ -1484,19 +1484,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1956,10 +1956,10 @@ br $__inlined_func$~lib/string/String#substring end i32.const 0 + local.get $4 local.get $0 i32.const 1 i32.shl - local.get $4 i32.eq local.get $3 select diff --git a/tests/compiler/optional-typeparameters.release.wat b/tests/compiler/optional-typeparameters.release.wat index e8034ca5e3..13005e7d0e 100644 --- a/tests/compiler/optional-typeparameters.release.wat +++ b/tests/compiler/optional-typeparameters.release.wat @@ -188,37 +188,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -369,12 +369,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -435,14 +435,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -458,14 +458,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -477,10 +477,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -517,11 +517,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -530,10 +530,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -545,11 +545,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -588,10 +588,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -648,10 +648,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -712,25 +712,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -787,23 +787,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -956,11 +956,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -970,12 +970,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -988,6 +988,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -996,7 +997,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1201,19 +1201,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1395,8 +1395,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1456,11 +1456,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1474,10 +1474,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1440 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1514,11 +1514,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/reexport.release.wat b/tests/compiler/reexport.release.wat index a9566616aa..227e72b848 100644 --- a/tests/compiler/reexport.release.wat +++ b/tests/compiler/reexport.release.wat @@ -209,37 +209,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -390,12 +390,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -456,14 +456,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -479,14 +479,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -498,10 +498,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -538,11 +538,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -551,10 +551,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -566,11 +566,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -609,10 +609,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -669,10 +669,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -733,25 +733,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -808,23 +808,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -977,11 +977,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -991,12 +991,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1009,6 +1009,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1017,7 +1018,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1222,19 +1222,19 @@ i32.load offset=8 local.set $2 local.get $0 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $0 local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1412,8 +1412,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1473,11 +1473,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1491,10 +1491,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1488 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1296 i32.const 1360 @@ -1531,11 +1531,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/rereexport.release.wat b/tests/compiler/rereexport.release.wat index eb9238d18c..905a617af1 100644 --- a/tests/compiler/rereexport.release.wat +++ b/tests/compiler/rereexport.release.wat @@ -207,37 +207,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -388,12 +388,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -454,14 +454,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -477,14 +477,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -496,10 +496,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -536,11 +536,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -549,10 +549,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -564,11 +564,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -607,10 +607,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -667,10 +667,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -731,25 +731,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -806,23 +806,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -975,11 +975,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -989,12 +989,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1007,6 +1007,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1015,7 +1016,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1401,19 +1401,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1463,8 +1463,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1524,11 +1524,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1542,10 +1542,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1536 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1296 i32.const 1360 @@ -1582,11 +1582,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/resolve-access.release.wat b/tests/compiler/resolve-access.release.wat index 6d8352ab87..2f6c9bb56f 100644 --- a/tests/compiler/resolve-access.release.wat +++ b/tests/compiler/resolve-access.release.wat @@ -105,8 +105,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -166,11 +166,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -184,10 +184,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 3296 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1280 i32.const 1344 @@ -210,23 +210,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -329,37 +329,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -510,12 +510,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -576,14 +576,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -599,14 +599,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -618,10 +618,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -658,11 +658,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1424 @@ -671,10 +671,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -686,11 +686,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1424 @@ -729,10 +729,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -789,10 +789,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -853,25 +853,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -928,23 +928,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1100,13 +1100,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1146,10 +1146,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1158,6 +1158,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1166,7 +1167,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1180,12 +1180,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1198,6 +1198,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1206,7 +1207,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1327,6 +1327,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1335,7 +1336,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1388,12 +1388,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1424 @@ -1431,16 +1431,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1484,19 +1484,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1535,13 +1535,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -1570,13 +1570,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -1596,12 +1596,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -1611,12 +1611,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -1787,13 +1787,13 @@ i64.const 100000000 i64.ge_u if + local.get $1 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $1 i32.add local.get $0 local.get $0 @@ -1827,13 +1827,13 @@ i64.shl i64.or i64.store + local.get $1 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $1 i32.add local.get $3 i32.const 10000 diff --git a/tests/compiler/resolve-binary.release.wat b/tests/compiler/resolve-binary.release.wat index 67c2e7b7ff..c82f00f790 100644 --- a/tests/compiler/resolve-binary.release.wat +++ b/tests/compiler/resolve-binary.release.wat @@ -523,37 +523,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -704,12 +704,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -770,14 +770,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -793,14 +793,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -812,10 +812,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -852,11 +852,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1744 @@ -865,10 +865,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -880,11 +880,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1744 @@ -923,10 +923,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -983,10 +983,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -1047,25 +1047,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1122,23 +1122,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1294,13 +1294,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1340,10 +1340,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1352,6 +1352,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1360,7 +1361,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1374,12 +1374,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1392,6 +1392,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1400,7 +1401,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1521,6 +1521,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1529,7 +1530,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1582,12 +1582,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1744 @@ -1625,16 +1625,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1678,19 +1678,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1729,13 +1729,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -1764,13 +1764,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -1790,12 +1790,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -1805,12 +1805,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -1952,7 +1952,6 @@ local.get $0 i64.sub local.set $9 - local.get $1 i64.const 1 i32.const 0 local.get $2 @@ -1965,6 +1964,7 @@ i64.const 1 i64.sub local.tee $12 + local.get $1 i64.and local.set $6 local.get $1 @@ -2164,19 +2164,19 @@ i32.const 1 i32.sub local.set $2 - local.get $6 + local.get $3 local.get $5 i64.extend_i32_u local.get $10 i64.extend_i32_s i64.shl + local.get $6 i64.add local.tee $0 - local.get $3 - i64.le_u + i64.ge_u if - local.get $2 global.get $~lib/util/number/_K + local.get $2 i32.add global.set $~lib/util/number/_K local.get $2 @@ -2201,11 +2201,11 @@ local.get $0 local.get $9 i64.lt_u - local.get $1 local.get $3 local.get $0 i64.sub - i64.le_u + local.get $1 + i64.ge_u i32.and if (result i32) local.get $9 @@ -2287,20 +2287,21 @@ i32.const 1 i32.sub local.set $2 - local.get $3 local.get $0 local.get $12 i64.and local.tee $6 - i64.le_u + local.get $3 + i64.ge_u br_if $while-continue|4 end - local.get $2 global.get $~lib/util/number/_K + local.get $2 i32.add global.set $~lib/util/number/_K local.get $6 local.set $0 + local.get $9 i32.const 0 local.get $2 i32.sub @@ -2309,7 +2310,6 @@ i32.const 10656 i32.add i64.load32_u - local.get $9 i64.mul local.set $1 local.get $4 @@ -2324,11 +2324,11 @@ local.get $0 local.get $1 i64.lt_u - local.get $11 local.get $3 local.get $0 i64.sub - i64.le_u + local.get $11 + i64.ge_u i32.and if (result i32) local.get $1 @@ -4268,8 +4268,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -4329,11 +4329,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -4347,10 +4347,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 11216 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1600 i32.const 1664 @@ -4387,11 +4387,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/resolve-elementaccess.release.wat b/tests/compiler/resolve-elementaccess.release.wat index 7c9bd5f70a..42b1535f70 100644 --- a/tests/compiler/resolve-elementaccess.release.wat +++ b/tests/compiler/resolve-elementaccess.release.wat @@ -157,8 +157,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -218,11 +218,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -236,10 +236,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 4800 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1360 i32.const 1424 @@ -262,23 +262,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -381,37 +381,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -562,12 +562,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -628,14 +628,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -651,14 +651,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -670,10 +670,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -710,11 +710,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1504 @@ -723,10 +723,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -738,11 +738,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1504 @@ -781,10 +781,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -841,10 +841,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -905,25 +905,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -980,23 +980,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1152,13 +1152,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1198,10 +1198,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1210,6 +1210,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1218,7 +1219,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1232,12 +1232,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1250,6 +1250,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1258,7 +1259,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1379,6 +1379,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1387,7 +1388,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1440,12 +1440,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1504 @@ -1483,16 +1483,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1536,19 +1536,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1573,12 +1573,12 @@ local.get $1 ) (func $~lib/typedarray/Float32Array#__set (param $0 i32) (param $1 i32) (param $2 f32) + local.get $1 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1568 @@ -1597,12 +1597,12 @@ f32.store ) (func $~lib/typedarray/Float32Array#__get (param $0 i32) (param $1 i32) (result f32) + local.get $1 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1568 @@ -1632,7 +1632,6 @@ local.get $0 i64.sub local.set $9 - local.get $1 i64.const 1 i32.const 0 local.get $2 @@ -1645,6 +1644,7 @@ i64.const 1 i64.sub local.tee $12 + local.get $1 i64.and local.set $7 local.get $1 @@ -1844,19 +1844,19 @@ i32.const 1 i32.sub local.set $2 - local.get $7 + local.get $3 local.get $5 i64.extend_i32_u local.get $10 i64.extend_i32_s i64.shl + local.get $7 i64.add local.tee $0 - local.get $3 - i64.le_u + i64.ge_u if - local.get $2 global.get $~lib/util/number/_K + local.get $2 i32.add global.set $~lib/util/number/_K local.get $2 @@ -1881,11 +1881,11 @@ local.get $0 local.get $9 i64.lt_u - local.get $1 local.get $3 local.get $0 i64.sub - i64.le_u + local.get $1 + i64.ge_u i32.and if (result i32) local.get $9 @@ -1967,20 +1967,21 @@ i32.const 1 i32.sub local.set $2 - local.get $3 local.get $0 local.get $12 i64.and local.tee $7 - i64.le_u + local.get $3 + i64.ge_u br_if $while-continue|4 end - local.get $2 global.get $~lib/util/number/_K + local.get $2 i32.add global.set $~lib/util/number/_K local.get $7 local.set $0 + local.get $9 i32.const 0 local.get $2 i32.sub @@ -1989,7 +1990,6 @@ i32.const 2704 i32.add i64.load32_u - local.get $9 i64.mul local.set $1 local.get $4 @@ -2004,11 +2004,11 @@ local.get $0 local.get $1 i64.lt_u - local.get $11 local.get $3 local.get $0 i64.sub - i64.le_u + local.get $11 + i64.ge_u i32.and if (result i32) local.get $1 @@ -2060,13 +2060,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -2095,13 +2095,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -2121,12 +2121,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -2136,12 +2136,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -2155,10 +2155,10 @@ local.get $2 i32.eqz if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.const 3145774 i32.store @@ -2183,10 +2183,10 @@ local.get $3 i32.lt_s if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.const 48 i32.store16 @@ -2197,10 +2197,10 @@ br $for-loop|0 end end + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add i32.const 3145774 i32.store @@ -2216,10 +2216,10 @@ i32.gt_s i32.and if (result i32) + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.tee $0 i32.const 2 @@ -2246,13 +2246,13 @@ i32.gt_s i32.and if (result i32) + local.get $0 i32.const 2 local.get $3 i32.sub local.tee $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $0 local.get $1 @@ -2269,10 +2269,10 @@ local.get $3 i32.lt_s if + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add i32.const 48 i32.store16 @@ -2581,9 +2581,9 @@ local.tee $0 i32.trunc_sat_f64_s local.tee $7 - local.get $0 local.get $7 f64.convert_i32_s + local.get $0 f64.ne i32.add i32.const 3 @@ -2638,11 +2638,11 @@ i64.const 4294967295 i64.and local.set $12 + local.get $10 local.get $3 i64.const 32 i64.shr_u local.tee $3 - local.get $10 i64.mul local.get $10 local.get $12 @@ -2656,11 +2656,11 @@ i64.const 4294967295 i64.and local.set $14 + local.get $10 local.get $13 i64.const 32 i64.shr_u local.tee $13 - local.get $10 i64.mul local.get $10 local.get $14 @@ -2674,11 +2674,11 @@ i32.shl i32.const 1776 i32.add - local.get $1 local.get $9 i64.const 32 i64.shr_u local.tee $9 + local.get $1 i64.mul local.get $11 i64.const 32 @@ -2718,8 +2718,8 @@ i64.const 1 i64.sub local.tee $1 - global.get $~lib/util/number/_exp_pow local.get $6 + global.get $~lib/util/number/_exp_pow i32.add i32.const -64 i32.sub @@ -2963,10 +2963,10 @@ i32.eqz ) (func $~lib/typedarray/Uint8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 i32.load offset=8 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1568 @@ -2975,18 +2975,18 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add local.get $2 i32.store8 ) (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=8 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1568 @@ -2995,9 +2995,9 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_u ) diff --git a/tests/compiler/resolve-function-expression.release.wat b/tests/compiler/resolve-function-expression.release.wat index 899a904bbf..9b5467d348 100644 --- a/tests/compiler/resolve-function-expression.release.wat +++ b/tests/compiler/resolve-function-expression.release.wat @@ -216,37 +216,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -397,12 +397,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -463,14 +463,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -486,14 +486,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -505,10 +505,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -545,11 +545,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1792 @@ -558,10 +558,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -573,11 +573,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1792 @@ -616,10 +616,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -676,10 +676,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -740,25 +740,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -815,23 +815,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -987,13 +987,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1033,10 +1033,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1045,6 +1045,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1053,7 +1054,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1067,12 +1067,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1085,6 +1085,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1093,7 +1094,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1311,6 +1311,7 @@ i32.sub i32.ne i32.shl + local.get $8 i32.const 1 i32.const 27 local.get $8 @@ -1319,7 +1320,6 @@ i32.shl i32.const 1 i32.sub - local.get $8 i32.add local.get $8 local.get $8 @@ -1372,12 +1372,12 @@ unreachable end end + local.get $8 local.get $2 i32.load i32.const -4 i32.and - local.get $8 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1792 @@ -1415,16 +1415,16 @@ i32.ge_u if local.get $2 + local.get $8 local.get $9 i32.const 2 i32.and - local.get $8 i32.or i32.store - local.get $8 local.get $2 i32.const 4 i32.add + local.get $8 i32.add local.tee $8 local.get $6 @@ -1468,19 +1468,19 @@ i32.load offset=8 local.set $7 local.get $2 - global.get $~lib/rt/itcms/white local.get $6 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $7 i32.store offset=8 local.get $7 + local.get $2 local.get $7 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $6 @@ -1521,13 +1521,13 @@ i32.const 10000 i32.div_u local.set $0 + local.get $4 local.get $1 i32.const 4 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $4 i32.add local.get $5 i32.const 100 @@ -1556,13 +1556,13 @@ i32.const 100 i32.ge_u if + local.get $4 local.get $1 i32.const 2 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $4 i32.add local.get $0 i32.const 100 @@ -1582,12 +1582,12 @@ i32.const 10 i32.ge_u if + local.get $4 local.get $1 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $4 i32.add local.get $0 i32.const 2 @@ -1597,12 +1597,12 @@ i32.load i32.store else + local.get $4 local.get $1 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $4 i32.add local.get $0 i32.const 48 @@ -1886,8 +1886,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1947,11 +1947,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1965,10 +1965,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 3424 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1648 i32.const 1712 @@ -2005,11 +2005,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/resolve-new.release.wat b/tests/compiler/resolve-new.release.wat index 19c3ca58e8..767da2e72c 100644 --- a/tests/compiler/resolve-new.release.wat +++ b/tests/compiler/resolve-new.release.wat @@ -181,37 +181,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -362,12 +362,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -428,14 +428,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -451,14 +451,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -470,10 +470,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -510,11 +510,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -523,10 +523,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -538,11 +538,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -581,10 +581,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -641,10 +641,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -705,25 +705,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -780,23 +780,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -949,11 +949,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -963,12 +963,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -981,6 +981,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -989,7 +990,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1307,19 +1307,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1364,8 +1364,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1425,11 +1425,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1443,10 +1443,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1440 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1483,11 +1483,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/resolve-propertyaccess.release.wat b/tests/compiler/resolve-propertyaccess.release.wat index c8e4845ec1..7633236b17 100644 --- a/tests/compiler/resolve-propertyaccess.release.wat +++ b/tests/compiler/resolve-propertyaccess.release.wat @@ -216,37 +216,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -397,12 +397,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -463,14 +463,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -486,14 +486,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -505,10 +505,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -545,11 +545,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -558,10 +558,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -573,11 +573,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -616,10 +616,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -676,10 +676,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -740,25 +740,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -815,23 +815,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -987,13 +987,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1033,10 +1033,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1045,6 +1045,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1053,7 +1054,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1067,12 +1067,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1085,6 +1085,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1093,7 +1094,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1214,6 +1214,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1222,7 +1223,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1275,12 +1275,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1616 @@ -1318,16 +1318,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1371,19 +1371,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1527,13 +1527,13 @@ i32.const 10000 i32.div_u local.set $0 + local.get $3 local.get $1 i32.const 4 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $3 i32.add local.get $5 i32.const 100 @@ -1562,13 +1562,13 @@ i32.const 100 i32.ge_u if + local.get $3 local.get $1 i32.const 2 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $3 i32.add local.get $0 i32.const 100 @@ -1588,12 +1588,12 @@ i32.const 10 i32.ge_u if + local.get $3 local.get $1 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $3 i32.add local.get $0 i32.const 2 @@ -1603,12 +1603,12 @@ i32.load i32.store else + local.get $3 local.get $1 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $3 i32.add local.get $0 i32.const 48 @@ -2147,8 +2147,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -2208,11 +2208,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -2226,10 +2226,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 3680 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1472 i32.const 1536 @@ -2266,11 +2266,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/resolve-ternary.release.wat b/tests/compiler/resolve-ternary.release.wat index 83fe6f8b18..f6a158d7fb 100644 --- a/tests/compiler/resolve-ternary.release.wat +++ b/tests/compiler/resolve-ternary.release.wat @@ -220,37 +220,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -401,12 +401,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -467,14 +467,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -490,14 +490,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -509,10 +509,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -549,11 +549,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -562,10 +562,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -577,11 +577,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -620,10 +620,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -680,10 +680,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -744,25 +744,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -819,23 +819,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -991,13 +991,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1037,10 +1037,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1049,6 +1049,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1057,7 +1058,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1071,12 +1071,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1089,6 +1089,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1097,7 +1098,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1218,6 +1218,7 @@ i32.sub i32.ne i32.shl + local.get $4 i32.const 1 i32.const 27 local.get $4 @@ -1226,7 +1227,6 @@ i32.shl i32.const 1 i32.sub - local.get $4 i32.add local.get $4 local.get $4 @@ -1279,12 +1279,12 @@ unreachable end end + local.get $4 local.get $1 i32.load i32.const -4 i32.and - local.get $4 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1616 @@ -1322,16 +1322,16 @@ i32.ge_u if local.get $1 + local.get $4 local.get $2 i32.const 2 i32.and - local.get $4 i32.or i32.store - local.get $4 local.get $1 i32.const 4 i32.add + local.get $4 i32.add local.tee $2 local.get $5 @@ -1375,19 +1375,19 @@ i32.load offset=8 local.set $3 local.get $1 - global.get $~lib/rt/itcms/white local.get $2 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $3 i32.store offset=8 local.get $3 + local.get $1 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 @@ -1426,13 +1426,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -1461,13 +1461,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -1487,12 +1487,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -1502,12 +1502,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -1646,7 +1646,6 @@ local.get $0 i64.sub local.set $9 - local.get $1 i64.const 1 i32.const 0 local.get $2 @@ -1659,6 +1658,7 @@ i64.const 1 i64.sub local.tee $12 + local.get $1 i64.and local.set $7 local.get $1 @@ -1858,19 +1858,19 @@ i32.const 1 i32.sub local.set $2 - local.get $7 + local.get $3 local.get $5 i64.extend_i32_u local.get $10 i64.extend_i32_s i64.shl + local.get $7 i64.add local.tee $0 - local.get $3 - i64.le_u + i64.ge_u if - local.get $2 global.get $~lib/util/number/_K + local.get $2 i32.add global.set $~lib/util/number/_K local.get $2 @@ -1895,11 +1895,11 @@ local.get $0 local.get $9 i64.lt_u - local.get $1 local.get $3 local.get $0 i64.sub - i64.le_u + local.get $1 + i64.ge_u i32.and if (result i32) local.get $9 @@ -1981,20 +1981,21 @@ i32.const 1 i32.sub local.set $2 - local.get $3 local.get $0 local.get $12 i64.and local.tee $7 - i64.le_u + local.get $3 + i64.ge_u br_if $while-continue|4 end - local.get $2 global.get $~lib/util/number/_K + local.get $2 i32.add global.set $~lib/util/number/_K local.get $7 local.set $0 + local.get $9 i32.const 0 local.get $2 i32.sub @@ -2003,7 +2004,6 @@ i32.const 4400 i32.add i64.load32_u - local.get $9 i64.mul local.set $1 local.get $4 @@ -2018,11 +2018,11 @@ local.get $0 local.get $1 i64.lt_u - local.get $11 local.get $3 local.get $0 i64.sub - i64.le_u + local.get $11 + i64.ge_u i32.and if (result i32) local.get $1 @@ -2748,8 +2748,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -2809,11 +2809,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -2827,10 +2827,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 4608 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1472 i32.const 1536 @@ -2867,11 +2867,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/resolve-unary.release.wat b/tests/compiler/resolve-unary.release.wat index c3c6932e1f..96f39fbf32 100644 --- a/tests/compiler/resolve-unary.release.wat +++ b/tests/compiler/resolve-unary.release.wat @@ -236,37 +236,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -417,12 +417,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -483,14 +483,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -506,14 +506,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -525,10 +525,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -565,11 +565,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -578,10 +578,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -593,11 +593,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -636,10 +636,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -696,10 +696,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -760,25 +760,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -835,23 +835,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1007,13 +1007,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1053,10 +1053,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1065,6 +1065,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1073,7 +1074,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1087,12 +1087,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1105,6 +1105,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1113,7 +1114,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1234,6 +1234,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1242,7 +1243,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1295,12 +1295,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1616 @@ -1338,16 +1338,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1391,19 +1391,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1547,13 +1547,13 @@ i32.const 10000 i32.div_u local.set $0 + local.get $3 local.get $1 i32.const 4 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $3 i32.add local.get $5 i32.const 100 @@ -1582,13 +1582,13 @@ i32.const 100 i32.ge_u if + local.get $3 local.get $1 i32.const 2 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $3 i32.add local.get $0 i32.const 100 @@ -1608,12 +1608,12 @@ i32.const 10 i32.ge_u if + local.get $3 local.get $1 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $3 i32.add local.get $0 i32.const 2 @@ -1623,12 +1623,12 @@ i32.load i32.store else + local.get $3 local.get $1 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $3 i32.add local.get $0 i32.const 48 @@ -2151,8 +2151,8 @@ global.get $resolve-unary/foo local.tee $0 i32.store - local.get $0 global.get $resolve-unary/foo + local.get $0 i32.ne if i32.const 0 @@ -2173,8 +2173,8 @@ global.get $resolve-unary/foo local.tee $0 i32.store - local.get $0 global.get $resolve-unary/foo + local.get $0 i32.ne if i32.const 0 @@ -2244,8 +2244,8 @@ local.get $0 local.get $1 i32.store - local.get $1 global.get $resolve-unary/foo + local.get $1 i32.ne if i32.const 0 @@ -2265,8 +2265,8 @@ local.get $0 local.get $1 i32.store - local.get $1 global.get $resolve-unary/foo + local.get $1 i32.ne if i32.const 0 @@ -2434,8 +2434,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -2495,11 +2495,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -2513,10 +2513,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 3728 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1472 i32.const 1536 @@ -2553,11 +2553,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/rt/finalize.release.wat b/tests/compiler/rt/finalize.release.wat index c0fb7a3099..cb83e0fd41 100644 --- a/tests/compiler/rt/finalize.release.wat +++ b/tests/compiler/rt/finalize.release.wat @@ -179,37 +179,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -360,12 +360,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -426,14 +426,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -449,14 +449,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -468,10 +468,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -508,11 +508,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -521,10 +521,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -536,11 +536,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -579,10 +579,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -639,10 +639,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -703,25 +703,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -778,23 +778,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -962,11 +962,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -976,12 +976,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -994,6 +994,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1002,7 +1003,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1259,19 +1259,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1398,8 +1398,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1459,11 +1459,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1477,10 +1477,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1488 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1517,11 +1517,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/rt/flags.release.wat b/tests/compiler/rt/flags.release.wat index 8290635509..226e38f4e9 100644 --- a/tests/compiler/rt/flags.release.wat +++ b/tests/compiler/rt/flags.release.wat @@ -15,10 +15,10 @@ (export "memory" (memory $0)) (start $~start) (func $~lib/rt/__typeinfo (param $0 i32) (result i32) + local.get $0 i32.const 1200 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1056 i32.const 1120 diff --git a/tests/compiler/rt/instanceof.release.wat b/tests/compiler/rt/instanceof.release.wat index aac5c067e5..376715d693 100644 --- a/tests/compiler/rt/instanceof.release.wat +++ b/tests/compiler/rt/instanceof.release.wat @@ -219,37 +219,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -400,12 +400,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -466,14 +466,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -489,14 +489,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -508,10 +508,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -548,11 +548,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -561,10 +561,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -576,11 +576,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -619,10 +619,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -679,10 +679,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -743,25 +743,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -818,23 +818,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -987,11 +987,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1001,12 +1001,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1019,6 +1019,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1027,7 +1028,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1232,19 +1232,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -2116,8 +2116,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -2177,11 +2177,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -2195,10 +2195,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1504 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -2235,11 +2235,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/rt/runtime-incremental-export.release.wat b/tests/compiler/rt/runtime-incremental-export.release.wat index d1611e10a5..5e8a23b58b 100644 --- a/tests/compiler/rt/runtime-incremental-export.release.wat +++ b/tests/compiler/rt/runtime-incremental-export.release.wat @@ -134,11 +134,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 ) @@ -146,8 +146,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -177,10 +177,10 @@ if (result i32) i32.const 1 else + local.get $2 i32.const 1568 i32.load - local.get $2 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -203,23 +203,23 @@ i32.load offset=8 local.set $2 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -322,37 +322,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -503,12 +503,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -569,14 +569,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -592,14 +592,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -611,10 +611,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -651,11 +651,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -664,10 +664,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -679,11 +679,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -722,10 +722,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -782,10 +782,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -846,25 +846,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -921,23 +921,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1093,13 +1093,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1139,10 +1139,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1151,6 +1151,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1159,7 +1160,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1173,12 +1173,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1191,6 +1191,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1199,7 +1200,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1320,6 +1320,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1328,7 +1329,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1381,12 +1381,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1392 @@ -1424,16 +1424,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1477,19 +1477,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1551,11 +1551,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $3 @@ -1603,19 +1603,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 diff --git a/tests/compiler/rt/runtime-minimal-export.release.wat b/tests/compiler/rt/runtime-minimal-export.release.wat index b2722ae95b..ed4afb8117 100644 --- a/tests/compiler/rt/runtime-minimal-export.release.wat +++ b/tests/compiler/rt/runtime-minimal-export.release.wat @@ -129,37 +129,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -310,12 +310,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -376,14 +376,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -399,14 +399,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -418,10 +418,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -458,11 +458,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1184 @@ -471,10 +471,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -486,11 +486,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1184 @@ -529,10 +529,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -589,10 +589,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -635,13 +635,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -681,10 +681,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -693,6 +693,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -701,7 +702,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -715,12 +715,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -733,6 +733,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -741,7 +742,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -817,6 +817,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -825,7 +826,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -878,12 +878,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1184 @@ -921,16 +921,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -974,19 +974,19 @@ i32.load offset=8 local.set $1 local.get $2 - global.get $~lib/rt/tcms/white local.get $0 + global.get $~lib/rt/tcms/white i32.or i32.store offset=4 local.get $2 local.get $1 i32.store offset=8 local.get $1 + local.get $2 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $0 @@ -1048,11 +1048,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 ) @@ -1094,11 +1094,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $3 @@ -1139,19 +1139,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/tcms/white local.get $0 + global.get $~lib/rt/tcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1223,11 +1223,11 @@ local.get $2 i32.ne if + local.get $3 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $3 i32.ne if i32.const 0 @@ -1436,20 +1436,20 @@ i32.load offset=8 local.set $2 local.get $1 + local.get $0 global.get $~lib/rt/tcms/white i32.eqz - local.get $0 i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 diff --git a/tests/compiler/simd.release.wat b/tests/compiler/simd.release.wat index 1bab3c700b..54979cce39 100644 --- a/tests/compiler/simd.release.wat +++ b/tests/compiler/simd.release.wat @@ -134,37 +134,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -315,12 +315,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -381,14 +381,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -404,14 +404,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -423,10 +423,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -463,11 +463,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1056 @@ -476,10 +476,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -491,11 +491,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1056 @@ -534,10 +534,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -594,10 +594,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -640,13 +640,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -686,10 +686,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -698,6 +698,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -706,7 +707,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -720,12 +720,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -738,6 +738,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -746,7 +747,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -799,6 +799,7 @@ i32.sub i32.ne i32.shl + local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -807,7 +808,6 @@ i32.shl i32.const 1 i32.sub - local.get $3 i32.add local.get $3 local.get $3 @@ -860,12 +860,12 @@ unreachable end end + local.get $3 local.get $1 i32.load i32.const -4 i32.and - local.get $3 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1056 @@ -903,16 +903,16 @@ i32.ge_u if local.get $1 + local.get $3 local.get $4 i32.const 2 i32.and - local.get $3 i32.or i32.store - local.get $3 local.get $1 i32.const 4 i32.add + local.get $3 i32.add local.tee $3 local.get $2 diff --git a/tests/compiler/std-wasi/console.release.wat b/tests/compiler/std-wasi/console.release.wat index 626830505a..5da6b38550 100644 --- a/tests/compiler/std-wasi/console.release.wat +++ b/tests/compiler/std-wasi/console.release.wat @@ -409,10 +409,10 @@ end unreachable end + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.set $3 local.get $2 @@ -461,11 +461,11 @@ local.get $4 i32.const 56320 i32.lt_u - local.get $3 local.get $0 i32.const 2 i32.add - i32.gt_u + local.get $3 + i32.lt_u i32.and local.get $4 i32.const 63488 @@ -1219,37 +1219,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -1400,12 +1400,12 @@ call $~lib/wasi/index/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -1466,14 +1466,14 @@ call $~lib/wasi/index/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -1489,14 +1489,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -1508,10 +1508,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -1548,11 +1548,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 4336 @@ -1561,10 +1561,10 @@ call $~lib/wasi/index/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -1576,11 +1576,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 4336 @@ -1619,10 +1619,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -1679,10 +1679,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -1725,13 +1725,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1771,10 +1771,10 @@ call $~lib/wasi/index/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1783,6 +1783,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1791,7 +1792,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1805,12 +1805,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1823,6 +1823,7 @@ call $~lib/wasi/index/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1831,7 +1832,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1884,6 +1884,7 @@ i32.sub i32.ne i32.shl + local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1892,7 +1893,6 @@ i32.shl i32.const 1 i32.sub - local.get $3 i32.add local.get $3 local.get $3 @@ -1945,12 +1945,12 @@ unreachable end end + local.get $3 local.get $1 i32.load i32.const -4 i32.and - local.get $3 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 4336 @@ -1988,16 +1988,16 @@ i32.ge_u if local.get $1 + local.get $3 local.get $4 i32.const 2 i32.and - local.get $3 i32.or i32.store - local.get $3 local.get $1 i32.const 4 i32.add + local.get $3 i32.add local.tee $3 local.get $2 @@ -2137,10 +2137,10 @@ local.get $5 i32.store i32.const 1144 + local.get $6 local.get $3 i32.const 8 i32.shl - local.get $6 i32.or local.get $4 i32.const 16 @@ -2173,10 +2173,10 @@ end local.get $1 local.get $1 + local.get $1 i32.const 20 i32.sub i32.load offset=16 - local.get $1 i32.add local.set $4 i32.const 0 @@ -2209,11 +2209,11 @@ i32.and i32.const 55296 i32.eq - local.get $4 local.get $1 i32.const 2 i32.add - i32.gt_u + local.get $4 + i32.lt_u i32.and if local.get $1 @@ -2365,8 +2365,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -2426,11 +2426,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -2444,10 +2444,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 7936 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 5120 i32.const 5184 @@ -2470,23 +2470,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -2523,25 +2523,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -2598,23 +2598,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -2794,19 +2794,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -2870,44 +2870,44 @@ local.get $7 i32.le_u if + local.get $2 local.get $1 i32.load i32.const -2048144777 i32.mul - local.get $2 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $2 + local.get $4 local.get $1 i32.load offset=4 i32.const -2048144777 i32.mul - local.get $4 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $4 + local.get $6 local.get $1 i32.load offset=8 i32.const -2048144777 i32.mul - local.get $6 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $6 + local.get $5 local.get $1 i32.load offset=12 i32.const -2048144777 i32.mul - local.get $5 i32.add i32.const 13 i32.rotl @@ -2921,6 +2921,7 @@ br $while-continue|0 end end + local.get $3 local.get $2 i32.const 1 i32.rotl @@ -2936,7 +2937,6 @@ i32.const 18 i32.rotl i32.add - local.get $3 i32.add else local.get $3 @@ -2955,11 +2955,11 @@ local.get $4 i32.le_u if + local.get $2 local.get $1 i32.load i32.const -1028477379 i32.mul - local.get $2 i32.add i32.const 17 i32.rotl @@ -2982,11 +2982,11 @@ local.get $1 i32.gt_u if + local.get $2 local.get $1 i32.load8_u i32.const 374761393 i32.mul - local.get $2 i32.add i32.const 11 i32.rotl @@ -3001,9 +3001,9 @@ end end local.get $2 + local.get $2 i32.const 15 i32.shr_u - local.get $2 i32.xor i32.const -2048144777 i32.mul @@ -3131,13 +3131,13 @@ i64.load offset=8 i64.store offset=8 local.get $2 + local.get $6 local.get $8 call $~lib/util/hash/HASH<~lib/string/String> local.get $1 i32.and i32.const 2 i32.shl - local.get $6 i32.add local.tee $8 i32.load @@ -3207,13 +3207,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -3242,13 +3242,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -3268,12 +3268,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -3283,12 +3283,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -3459,13 +3459,13 @@ i64.const 100000000 i64.ge_u if + local.get $1 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $1 i32.add local.get $0 local.get $0 @@ -3499,13 +3499,13 @@ i64.shl i64.or i64.store + local.get $1 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $1 i32.add local.get $3 i32.const 10000 @@ -4059,9 +4059,9 @@ i32.store local.get $0 i32.load + local.get $2 local.get $0 i32.load offset=4 - local.get $2 i32.and i32.const 2 i32.shl @@ -4229,10 +4229,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $5 local.get $3 i32.const 24 i32.mul - local.get $5 i32.add local.tee $3 local.get $0 @@ -4256,9 +4256,9 @@ local.get $3 local.get $2 i32.load + local.get $4 local.get $2 i32.load offset=4 - local.get $4 i32.and i32.const 2 i32.shl diff --git a/tests/compiler/std-wasi/crypto.release.wat b/tests/compiler/std-wasi/crypto.release.wat index 8362d70f36..752aa3c76f 100644 --- a/tests/compiler/std-wasi/crypto.release.wat +++ b/tests/compiler/std-wasi/crypto.release.wat @@ -248,10 +248,10 @@ end unreachable end + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.set $3 local.get $2 @@ -300,11 +300,11 @@ local.get $4 i32.const 56320 i32.lt_u - local.get $3 local.get $0 i32.const 2 i32.add - i32.gt_u + local.get $3 + i32.lt_u i32.and local.get $4 i32.const 63488 @@ -721,8 +721,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -782,11 +782,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -800,10 +800,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 6864 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1472 i32.const 1536 @@ -826,23 +826,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -945,37 +945,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -1126,12 +1126,12 @@ call $~lib/wasi/index/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -1192,14 +1192,14 @@ call $~lib/wasi/index/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -1215,14 +1215,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -1234,10 +1234,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -1274,11 +1274,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -1287,10 +1287,10 @@ call $~lib/wasi/index/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -1302,11 +1302,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -1345,10 +1345,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -1405,10 +1405,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -1519,25 +1519,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1594,23 +1594,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1722,13 +1722,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1768,10 +1768,10 @@ call $~lib/wasi/index/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1780,6 +1780,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1788,7 +1789,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1802,12 +1802,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1820,6 +1820,7 @@ call $~lib/wasi/index/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1828,7 +1829,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1881,6 +1881,7 @@ i32.sub i32.ne i32.shl + local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1889,7 +1890,6 @@ i32.shl i32.const 1 i32.sub - local.get $3 i32.add local.get $3 local.get $3 @@ -1942,12 +1942,12 @@ unreachable end end + local.get $3 local.get $1 i32.load i32.const -4 i32.and - local.get $3 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1616 @@ -1985,16 +1985,16 @@ i32.ge_u if local.get $1 + local.get $3 local.get $4 i32.const 2 i32.and - local.get $3 i32.or i32.store - local.get $3 local.get $1 i32.const 4 i32.add + local.get $3 i32.add local.tee $3 local.get $2 @@ -2109,19 +2109,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -2503,13 +2503,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -2538,13 +2538,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -2564,12 +2564,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -2579,12 +2579,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -2807,7 +2807,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $5 i32.const 6652 i32.load i32.const 1 @@ -2815,6 +2814,7 @@ local.tee $4 i32.const 10 i32.add + local.get $5 i32.mul i32.const 10 i32.add @@ -2832,10 +2832,10 @@ local.get $5 i32.lt_s if + local.get $1 local.get $2 i32.const 1 i32.shl - local.get $1 i32.add local.get $0 local.get $6 @@ -2847,10 +2847,10 @@ local.set $2 local.get $4 if + local.get $1 local.get $2 i32.const 1 i32.shl - local.get $1 i32.add i32.const 6656 local.get $4 @@ -2869,10 +2869,11 @@ br $for-loop|0 end end + local.get $3 + local.get $1 local.get $2 i32.const 1 i32.shl - local.get $1 i32.add local.get $5 local.get $6 @@ -2882,8 +2883,7 @@ local.get $2 i32.add local.tee $0 - local.get $3 - i32.lt_s + i32.gt_s if global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2947,10 +2947,10 @@ br $__inlined_func$~lib/string/String#substring end i32.const 0 + local.get $0 local.get $4 i32.const 1 i32.shl - local.get $0 i32.eq local.get $3 select @@ -3132,10 +3132,10 @@ local.get $4 i32.store i32.const 6680 + local.get $5 local.get $2 i32.const 8 i32.shl - local.get $5 i32.or local.get $1 i32.const 16 @@ -3168,10 +3168,10 @@ end local.get $0 local.get $0 + local.get $0 i32.const 20 i32.sub i32.load offset=16 - local.get $0 i32.add local.set $3 i32.const 0 @@ -3204,11 +3204,11 @@ i32.and i32.const 55296 i32.eq - local.get $3 local.get $0 i32.const 2 i32.add - i32.gt_u + local.get $3 + i32.lt_u i32.and if local.get $0 @@ -3296,10 +3296,10 @@ end ) (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=8 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1472 i32.const 1680 @@ -3308,9 +3308,9 @@ call $~lib/wasi/index/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_u ) @@ -3694,13 +3694,13 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 local.tee $3 - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1472 i32.const 1680 @@ -3730,11 +3730,11 @@ end local.set $2 else - local.get $3 local.get $1 local.get $2 i32.add - i32.lt_s + local.get $3 + i32.gt_s if i32.const 1168 i32.const 1680 @@ -3916,9 +3916,9 @@ i32.store local.get $0 i32.load offset=4 - local.get $2 local.get $1 i32.load offset=4 + local.get $2 i32.add local.get $3 memory.copy diff --git a/tests/compiler/std-wasi/process.release.wat b/tests/compiler/std-wasi/process.release.wat index 9eb9e9d140..c93bace69c 100644 --- a/tests/compiler/std-wasi/process.release.wat +++ b/tests/compiler/std-wasi/process.release.wat @@ -267,10 +267,10 @@ (export "_start" (func $~start)) (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.tee $1 i32.const 7 @@ -400,10 +400,10 @@ end unreachable end + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.set $3 local.get $2 @@ -452,11 +452,11 @@ local.get $4 i32.const 56320 i32.lt_u - local.get $3 local.get $0 i32.const 2 i32.add - i32.gt_u + local.get $3 + i32.lt_u i32.and local.get $4 i32.const 63488 @@ -1210,37 +1210,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -1391,12 +1391,12 @@ call $~lib/wasi/index/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -1457,14 +1457,14 @@ call $~lib/wasi/index/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -1480,14 +1480,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -1499,10 +1499,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -1539,11 +1539,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 4288 @@ -1552,10 +1552,10 @@ call $~lib/wasi/index/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -1567,11 +1567,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 4288 @@ -1610,10 +1610,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -1670,10 +1670,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -1716,13 +1716,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1762,10 +1762,10 @@ call $~lib/wasi/index/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1774,6 +1774,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1782,7 +1783,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1796,12 +1796,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1814,6 +1814,7 @@ call $~lib/wasi/index/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1822,7 +1823,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1875,6 +1875,7 @@ i32.sub i32.ne i32.shl + local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1883,7 +1884,6 @@ i32.shl i32.const 1 i32.sub - local.get $3 i32.add local.get $3 local.get $3 @@ -1936,12 +1936,12 @@ unreachable end end + local.get $3 local.get $1 i32.load i32.const -4 i32.and - local.get $3 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 4288 @@ -1979,16 +1979,16 @@ i32.ge_u if local.get $1 + local.get $3 local.get $4 i32.const 2 i32.and - local.get $3 i32.or i32.store - local.get $3 local.get $1 i32.const 4 i32.add + local.get $3 i32.add local.tee $3 local.get $2 @@ -2128,10 +2128,10 @@ local.get $4 i32.store i32.const 1096 + local.get $5 local.get $2 i32.const 8 i32.shl - local.get $5 i32.or local.get $1 i32.const 16 @@ -2164,10 +2164,10 @@ end local.get $0 local.get $0 + local.get $0 i32.const 20 i32.sub i32.load offset=16 - local.get $0 i32.add local.set $3 i32.const 0 @@ -2200,11 +2200,11 @@ i32.and i32.const 55296 i32.eq - local.get $3 local.get $0 i32.const 2 i32.add - i32.gt_u + local.get $3 + i32.lt_u i32.and if local.get $0 @@ -2386,8 +2386,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -2447,11 +2447,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -2465,10 +2465,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 7360 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 4784 i32.const 4848 @@ -2491,23 +2491,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -2544,25 +2544,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -2619,23 +2619,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -2815,19 +2815,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -2854,6 +2854,7 @@ (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.const 20 i32.sub @@ -2863,8 +2864,7 @@ i32.and i32.const 16 i32.sub - local.get $1 - i32.ge_u + i32.le_u if local.get $3 local.get $1 @@ -2892,13 +2892,13 @@ (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) + local.get $1 local.get $0 i32.load offset=8 local.tee $3 i32.const 2 i32.shr_u - local.get $1 - i32.lt_u + i32.gt_u if local.get $1 i32.const 268435455 @@ -2969,10 +2969,10 @@ ) (func $~lib/array/Array<~lib/string/String>#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -3052,44 +3052,44 @@ local.get $7 i32.le_u if + local.get $2 local.get $1 i32.load i32.const -2048144777 i32.mul - local.get $2 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $2 + local.get $4 local.get $1 i32.load offset=4 i32.const -2048144777 i32.mul - local.get $4 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $4 + local.get $6 local.get $1 i32.load offset=8 i32.const -2048144777 i32.mul - local.get $6 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $6 + local.get $5 local.get $1 i32.load offset=12 i32.const -2048144777 i32.mul - local.get $5 i32.add i32.const 13 i32.rotl @@ -3103,6 +3103,7 @@ br $while-continue|0 end end + local.get $3 local.get $2 i32.const 1 i32.rotl @@ -3118,7 +3119,6 @@ i32.const 18 i32.rotl i32.add - local.get $3 i32.add else local.get $3 @@ -3137,11 +3137,11 @@ local.get $4 i32.le_u if + local.get $2 local.get $1 i32.load i32.const -1028477379 i32.mul - local.get $2 i32.add i32.const 17 i32.rotl @@ -3164,11 +3164,11 @@ local.get $1 i32.gt_u if + local.get $2 local.get $1 i32.load8_u i32.const 374761393 i32.mul - local.get $2 i32.add i32.const 11 i32.rotl @@ -3183,9 +3183,9 @@ end end local.get $2 + local.get $2 i32.const 15 i32.shr_u - local.get $2 i32.xor i32.const -2048144777 i32.mul @@ -3220,13 +3220,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -3255,13 +3255,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -3281,12 +3281,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -3296,12 +3296,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -3317,13 +3317,13 @@ i64.const 100000000 i64.ge_u if + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 local.get $1 @@ -3357,13 +3357,13 @@ i64.shl i64.or i64.store + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 10000 @@ -3576,9 +3576,9 @@ i32.store local.get $0 i32.load + local.get $2 local.get $0 i32.load offset=4 - local.get $2 i32.and i32.const 2 i32.shl @@ -3772,10 +3772,10 @@ i32.lt_u if global.get $~lib/memory/__stack_pointer + local.get $1 local.get $2 i32.const 2 i32.shl - local.get $1 i32.add i32.load local.tee $0 @@ -4048,10 +4048,10 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $6 local.get $0 i32.const 2 i32.shl - local.get $6 i32.add i32.load local.tee $7 @@ -4161,10 +4161,10 @@ local.get $3 i32.lt_s if + local.get $4 local.get $2 i32.const 12 i32.mul - local.get $4 i32.add local.tee $6 i32.load offset=8 @@ -4346,7 +4346,6 @@ i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $2 local.get $1 i32.wrap_i64 local.tee $3 @@ -4398,6 +4397,7 @@ local.tee $4 i32.const 1 i32.shl + local.get $2 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -4411,7 +4411,6 @@ call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $2 local.get $1 i64.const 1000000000000000 i64.lt_u @@ -4465,6 +4464,7 @@ local.tee $3 i32.const 1 i32.shl + local.get $2 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -4853,11 +4853,11 @@ i32.const 0 i32.store local.get $0 - local.get $0 local.get $1 i32.add local.tee $4 - i32.gt_u + local.get $0 + i32.lt_u if i32.const 0 i32.const 1200 @@ -4913,12 +4913,12 @@ i32.eq if local.get $1 - local.get $6 local.get $5 i32.const 31 i32.and i32.const 6 i32.shl + local.get $6 i32.or i32.store16 else @@ -4941,7 +4941,6 @@ i32.const 224 i32.eq if - local.get $3 local.get $5 i32.const 15 i32.and @@ -4951,6 +4950,7 @@ i32.const 6 i32.shl i32.or + local.get $3 i32.or local.set $3 else @@ -5059,10 +5059,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 4784 i32.const 4608 @@ -5221,10 +5221,10 @@ return end i32.const 0 + local.get $2 local.get $1 i32.const 1 i32.shl - local.get $2 i32.eq local.get $4 select @@ -5394,13 +5394,13 @@ i32.load offset=4 i32.store offset=4 local.get $3 + local.get $9 local.get $11 call $~lib/util/hash/HASH<~lib/string/String> local.get $8 i32.and i32.const 2 i32.shl - local.get $9 i32.add local.tee $11 i32.load @@ -5467,10 +5467,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $3 local.get $4 i32.const 12 i32.mul - local.get $3 i32.add local.tee $3 local.get $1 @@ -5501,9 +5501,9 @@ local.get $3 local.get $0 i32.load + local.get $7 local.get $0 i32.load offset=4 - local.get $7 i32.and i32.const 2 i32.shl diff --git a/tests/compiler/std/array-access.release.wat b/tests/compiler/std/array-access.release.wat index 5b528c7bc8..5d8f11cce1 100644 --- a/tests/compiler/std/array-access.release.wat +++ b/tests/compiler/std/array-access.release.wat @@ -136,10 +136,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1056 i32.const 1120 diff --git a/tests/compiler/std/array-literal.release.wat b/tests/compiler/std/array-literal.release.wat index 7a54e44aa8..d7487ded79 100644 --- a/tests/compiler/std/array-literal.release.wat +++ b/tests/compiler/std/array-literal.release.wat @@ -56,10 +56,10 @@ (export "memory" (memory $0)) (start $~start) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1200 i32.const 1264 @@ -68,17 +68,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_s ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1200 i32.const 1264 @@ -178,8 +178,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -239,11 +239,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -257,10 +257,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1792 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1200 i32.const 1664 @@ -283,23 +283,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -402,37 +402,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -583,12 +583,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -649,14 +649,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -672,14 +672,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -691,10 +691,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -731,11 +731,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1744 @@ -744,10 +744,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -759,11 +759,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1744 @@ -802,10 +802,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -862,10 +862,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -926,25 +926,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1001,23 +1001,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1173,13 +1173,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1219,10 +1219,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1231,6 +1231,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1239,7 +1240,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1253,12 +1253,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1271,6 +1271,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1279,7 +1280,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1400,6 +1400,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1408,7 +1409,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1461,12 +1461,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1744 @@ -1504,16 +1504,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1557,19 +1557,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index 2d834bc7de..02a578b075 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -724,8 +724,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -785,11 +785,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -803,10 +803,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 15904 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1344 i32.const 1408 @@ -829,23 +829,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -948,37 +948,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -1129,12 +1129,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -1195,14 +1195,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -1218,14 +1218,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -1237,10 +1237,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -1277,11 +1277,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1488 @@ -1290,10 +1290,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -1305,11 +1305,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1488 @@ -1348,10 +1348,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -1408,10 +1408,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -1522,25 +1522,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1597,23 +1597,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1725,13 +1725,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1771,10 +1771,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1783,6 +1783,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1791,7 +1792,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1805,12 +1805,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1823,6 +1823,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1831,7 +1832,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1884,6 +1884,7 @@ i32.sub i32.ne i32.shl + local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1892,7 +1893,6 @@ i32.shl i32.const 1 i32.sub - local.get $3 i32.add local.get $3 local.get $3 @@ -1945,12 +1945,12 @@ unreachable end end + local.get $3 local.get $1 i32.load i32.const -4 i32.and - local.get $3 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1488 @@ -1988,16 +1988,16 @@ i32.ge_u if local.get $1 + local.get $3 local.get $4 i32.const 2 i32.and - local.get $3 i32.or i32.store - local.get $3 local.get $1 i32.const 4 i32.add + local.get $3 i32.add local.tee $3 local.get $2 @@ -2112,19 +2112,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -2149,10 +2149,10 @@ local.get $1 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1344 i32.const 1104 @@ -2161,9 +2161,9 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_u ) @@ -2275,10 +2275,10 @@ local.get $2 i32.gt_s if + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add local.get $1 local.get $0 @@ -2295,10 +2295,10 @@ local.get $2 i32.gt_s if + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add local.get $1 i32.store @@ -2311,10 +2311,10 @@ end ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1344 i32.const 1104 @@ -2436,10 +2436,10 @@ local.get $2 i32.gt_s if + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add i32.const 0 local.get $0 @@ -2456,10 +2456,10 @@ local.get $2 i32.gt_s if + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add local.get $1 f32.store @@ -2472,10 +2472,10 @@ end ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1344 i32.const 1104 @@ -2581,13 +2581,13 @@ (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) + local.get $1 local.get $0 i32.load offset=8 local.tee $4 i32.const 2 i32.shr_u - local.get $1 - i32.lt_u + i32.gt_u if local.get $1 i32.const 268435455 @@ -2715,10 +2715,10 @@ i32.store offset=12 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1344 i32.const 1104 @@ -2784,6 +2784,7 @@ ) (func $~lib/array/Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.load offset=12 @@ -2792,7 +2793,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -2853,6 +2853,7 @@ i32.const 2 i32.shl i32.add + local.get $3 local.get $2 i32.const 0 i32.lt_s @@ -2877,7 +2878,6 @@ local.tee $2 i32.const 2 i32.shl - local.get $3 i32.add local.get $5 i32.const 0 @@ -3014,11 +3014,11 @@ i32.sub local.set $5 loop $while-continue|0 - local.get $4 local.get $2 i32.const 7 i32.add - i32.gt_u + local.get $4 + i32.lt_u if local.get $0 local.get $2 @@ -3108,10 +3108,10 @@ i32.load8_u local.set $6 local.get $5 + local.get $0 local.get $1 local.get $2 i32.sub - local.get $0 i32.add local.tee $5 i32.load8_u @@ -3154,18 +3154,18 @@ i32.sub local.set $5 loop $while-continue|0 - local.get $3 local.get $1 i32.const 1 i32.add - i32.gt_u + local.get $3 + i32.lt_u if + local.get $2 local.get $5 local.get $1 i32.sub i32.const 1 i32.shl - local.get $2 i32.add local.tee $6 i32.load @@ -3173,10 +3173,10 @@ i32.rotr local.set $7 local.get $6 + local.get $2 local.get $1 i32.const 1 i32.shl - local.get $2 i32.add local.tee $6 i32.load @@ -3202,21 +3202,21 @@ local.get $3 i32.lt_u if + local.get $2 local.get $1 i32.const 1 i32.shl - local.get $2 i32.add local.tee $5 i32.load16_u local.set $6 local.get $5 + local.get $2 local.get $4 local.get $1 i32.sub i32.const 1 i32.shl - local.get $2 i32.add local.tee $5 i32.load16_u @@ -3235,10 +3235,10 @@ local.get $0 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1344 i32.const 1104 @@ -3257,10 +3257,10 @@ ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -3386,8 +3386,8 @@ i32.gt_s ) (func $start:std/array~anonymous|20 (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 global.get $std/array/i + local.get $0 i32.add global.set $std/array/i ) @@ -3395,8 +3395,8 @@ local.get $2 i32.const 100 call $~lib/array/Array#push - local.get $0 global.get $std/array/i + local.get $0 i32.add global.set $std/array/i ) @@ -3404,8 +3404,8 @@ local.get $2 call $~lib/array/Array#pop drop - local.get $0 global.get $std/array/i + local.get $0 i32.add global.set $std/array/i ) @@ -3509,15 +3509,15 @@ local.get $2 i32.const 100 call $~lib/array/Array#push - local.get $0 global.get $std/array/i + local.get $0 i32.add global.set $std/array/i local.get $0 ) (func $start:std/array~anonymous|27 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 global.get $std/array/i + local.get $0 i32.add global.set $std/array/i local.get $0 @@ -3526,8 +3526,8 @@ local.get $2 call $~lib/array/Array#pop drop - local.get $0 global.get $std/array/i + local.get $0 i32.add global.set $std/array/i local.get $0 @@ -3541,8 +3541,8 @@ local.get $2 i32.const 100 call $~lib/array/Array#push - local.get $0 global.get $std/array/i + local.get $0 i32.add global.set $std/array/i local.get $0 @@ -3550,8 +3550,8 @@ i32.ge_s ) (func $start:std/array~anonymous|31 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 global.get $std/array/i + local.get $0 i32.add global.set $std/array/i local.get $0 @@ -3562,8 +3562,8 @@ local.get $2 call $~lib/array/Array#pop drop - local.get $0 global.get $std/array/i + local.get $0 i32.add global.set $std/array/i local.get $0 @@ -3612,6 +3612,7 @@ (local $6 f32) (local $7 i32) (local $8 f32) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -3629,7 +3630,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -3637,10 +3637,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 f32.load offset=4 @@ -3674,10 +3674,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add f32.load local.set $8 @@ -3691,10 +3691,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 f32.store offset=8 @@ -3706,10 +3706,10 @@ end end end + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.get $5 f32.store offset=8 @@ -3719,10 +3719,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add f32.load local.set $5 @@ -3736,10 +3736,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.get $5 f32.store offset=4 @@ -3751,10 +3751,10 @@ end end end + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.get $6 f32.store offset=4 @@ -3778,19 +3778,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add f32.load + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 2 i32.shl - local.get $0 i32.add f32.load i32.const 2 @@ -3806,10 +3806,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $6 f32.load offset=4 @@ -3840,19 +3840,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 f32.load local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 f32.load @@ -3877,10 +3877,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 f32.load offset=4 @@ -3913,11 +3913,11 @@ (local $8 f32) (local $9 i32) (local $10 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $9 local.get $6 @@ -3929,7 +3929,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -3937,6 +3936,7 @@ i32.const 2 i32.shl local.tee $10 + local.get $4 i32.add local.get $0 local.get $10 @@ -3951,17 +3951,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $9 local.get $6 i32.sub i32.const 2 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add f32.load offset=4 f32.store @@ -3977,17 +3977,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 2 i32.shl - local.get $4 i32.add f32.load local.set $7 + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add f32.load local.set $8 @@ -4001,10 +4001,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $7 f32.store @@ -4013,10 +4013,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 f32.store @@ -4176,13 +4176,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $9 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -4190,10 +4190,10 @@ local.get $6 i32.lt_u if + local.get $10 local.get $5 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -4314,10 +4314,10 @@ local.get $7 i32.gt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $16 @@ -4326,11 +4326,11 @@ if local.get $0 local.get $16 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -4354,11 +4354,11 @@ br $for-loop|3 end end - local.get $10 local.get $7 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -4379,10 +4379,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -4391,10 +4391,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -4450,6 +4450,7 @@ (local $6 f64) (local $7 i32) (local $8 f64) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -4467,7 +4468,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -4475,10 +4475,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 3 i32.shl - local.get $0 i32.add local.tee $3 f64.load offset=8 @@ -4512,10 +4512,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add f64.load local.set $8 @@ -4529,10 +4529,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $8 f64.store offset=16 @@ -4544,10 +4544,10 @@ end end end + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $5 f64.store offset=16 @@ -4557,10 +4557,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add f64.load local.set $5 @@ -4574,10 +4574,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $5 f64.store offset=8 @@ -4589,10 +4589,10 @@ end end end + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $6 f64.store offset=8 @@ -4616,19 +4616,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add f64.load + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 3 i32.shl - local.get $0 i32.add f64.load i32.const 2 @@ -4644,10 +4644,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 3 i32.shl - local.get $0 i32.add local.tee $6 f64.load offset=8 @@ -4678,19 +4678,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.tee $3 f64.load local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 3 i32.shl - local.get $0 i32.add local.tee $3 f64.load @@ -4715,10 +4715,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 3 i32.shl - local.get $0 i32.add local.tee $1 f64.load offset=8 @@ -4751,11 +4751,11 @@ (local $8 f64) (local $9 i32) (local $10 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $9 local.get $6 @@ -4767,7 +4767,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -4775,6 +4774,7 @@ i32.const 3 i32.shl local.tee $10 + local.get $4 i32.add local.get $0 local.get $10 @@ -4789,17 +4789,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $9 local.get $6 i32.sub i32.const 3 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 3 i32.shl - local.get $0 i32.add f64.load offset=8 f64.store @@ -4815,17 +4815,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 3 i32.shl - local.get $4 i32.add f64.load local.set $7 + local.get $4 local.get $2 i32.const 3 i32.shl - local.get $4 i32.add f64.load local.set $8 @@ -4839,10 +4839,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.get $7 f64.store @@ -4851,10 +4851,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.get $8 f64.store @@ -5014,13 +5014,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $9 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -5028,10 +5028,10 @@ local.get $6 i32.lt_u if + local.get $10 local.get $5 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -5152,10 +5152,10 @@ local.get $7 i32.gt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $16 @@ -5164,11 +5164,11 @@ if local.get $0 local.get $16 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -5192,11 +5192,11 @@ br $for-loop|3 end end - local.get $10 local.get $7 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -5217,10 +5217,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -5229,10 +5229,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -5284,10 +5284,10 @@ i32.sub ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1344 i32.const 1104 @@ -5309,6 +5309,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -5326,7 +5327,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -5334,10 +5334,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load offset=4 @@ -5371,10 +5371,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.set $8 @@ -5388,10 +5388,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 i32.store offset=8 @@ -5403,10 +5403,10 @@ end end end + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $3 i32.store offset=8 @@ -5416,10 +5416,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.set $3 @@ -5433,10 +5433,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $3 i32.store offset=4 @@ -5448,10 +5448,10 @@ end end end + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=4 @@ -5474,19 +5474,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 2 i32.shl - local.get $0 i32.add i32.load i32.const 2 @@ -5502,10 +5502,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $5 i32.load offset=4 @@ -5536,19 +5536,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load @@ -5573,10 +5573,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -5607,11 +5607,11 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $7 local.get $6 @@ -5623,7 +5623,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -5631,6 +5630,7 @@ i32.const 2 i32.shl local.tee $8 + local.get $4 i32.add local.get $0 local.get $8 @@ -5645,17 +5645,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $7 local.get $6 i32.sub i32.const 2 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.store @@ -5671,17 +5671,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.set $7 + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.set $8 @@ -5695,10 +5695,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $7 i32.store @@ -5707,10 +5707,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 i32.store @@ -5867,13 +5867,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -5881,10 +5881,10 @@ local.get $8 i32.lt_u if + local.get $10 local.get $6 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -6005,10 +6005,10 @@ local.get $4 i32.lt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $8 @@ -6017,11 +6017,11 @@ if local.get $0 local.get $8 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -6045,11 +6045,11 @@ br $for-loop|3 end end - local.get $10 local.get $1 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -6070,10 +6070,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -6082,10 +6082,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -6117,6 +6117,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -6134,7 +6135,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -6142,10 +6142,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load offset=4 @@ -6179,10 +6179,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.set $8 @@ -6196,10 +6196,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 i32.store offset=8 @@ -6211,10 +6211,10 @@ end end end + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $3 i32.store offset=8 @@ -6224,10 +6224,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.set $3 @@ -6241,10 +6241,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $3 i32.store offset=4 @@ -6256,10 +6256,10 @@ end end end + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=4 @@ -6282,19 +6282,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 2 i32.shl - local.get $0 i32.add i32.load i32.const 2 @@ -6310,10 +6310,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $5 i32.load offset=4 @@ -6344,19 +6344,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load @@ -6381,10 +6381,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -6415,11 +6415,11 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $7 local.get $6 @@ -6431,7 +6431,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -6439,6 +6438,7 @@ i32.const 2 i32.shl local.tee $8 + local.get $4 i32.add local.get $0 local.get $8 @@ -6453,17 +6453,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $7 local.get $6 i32.sub i32.const 2 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.store @@ -6479,17 +6479,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.set $7 + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.set $8 @@ -6503,10 +6503,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $7 i32.store @@ -6515,10 +6515,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 i32.store @@ -6675,13 +6675,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -6689,10 +6689,10 @@ local.get $8 i32.lt_u if + local.get $10 local.get $6 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -6813,10 +6813,10 @@ local.get $4 i32.lt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $8 @@ -6825,11 +6825,11 @@ if local.get $0 local.get $8 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -6853,11 +6853,11 @@ br $for-loop|3 end end - local.get $10 local.get $1 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -6878,10 +6878,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -6890,10 +6890,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -6988,17 +6988,17 @@ global.get $~lib/math/random_state1_64 local.tee $0 global.set $~lib/math/random_state0_64 - local.get $0 + local.get $1 local.get $1 i64.const 23 i64.shl - local.get $1 i64.xor local.tee $1 local.get $1 i64.const 17 i64.shr_u i64.xor + local.get $0 i64.xor local.get $0 i64.const 26 @@ -7044,6 +7044,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $1 local.get $3 local.get $2 local.get $1 @@ -7061,7 +7062,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -7071,10 +7071,10 @@ if global.get $~lib/memory/__stack_pointer local.tee $3 + local.get $0 local.get $7 i32.const 2 i32.shl - local.get $0 i32.add local.tee $5 i32.load @@ -7113,10 +7113,10 @@ if block $while-break|1 global.get $~lib/memory/__stack_pointer + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $8 @@ -7131,10 +7131,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 i32.store offset=8 @@ -7146,10 +7146,10 @@ end end end + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $3 i32.store offset=8 @@ -7160,10 +7160,10 @@ if block $while-break|2 global.get $~lib/memory/__stack_pointer + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $3 @@ -7178,10 +7178,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $3 i32.store offset=4 @@ -7193,10 +7193,10 @@ end end end + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=4 @@ -7234,11 +7234,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $3 local.get $2 i32.const 1 i32.sub local.tee $2 - local.get $3 i32.add local.set $7 local.get $2 @@ -7250,7 +7250,6 @@ local.get $6 i32.lt_s if - local.get $4 local.get $6 i32.const 1 i32.sub @@ -7258,6 +7257,7 @@ i32.const 2 i32.shl local.tee $8 + local.get $4 i32.add local.get $0 local.get $8 @@ -7272,17 +7272,17 @@ local.get $3 i32.lt_s if + local.get $4 local.get $7 local.get $2 i32.sub i32.const 2 i32.shl - local.get $4 i32.add + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.store @@ -7300,19 +7300,19 @@ if global.get $~lib/memory/__stack_pointer local.tee $7 + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.tee $8 i32.store local.get $7 + local.get $4 local.get $6 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.tee $7 @@ -7327,10 +7327,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 i32.store @@ -7339,10 +7339,10 @@ i32.sub local.set $2 else + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $7 i32.store @@ -7538,13 +7538,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $6 global.get $~lib/rt/tlsf/ROOT local.get $7 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $6 i32.add local.set $11 loop $for-loop|1 @@ -7552,10 +7552,10 @@ local.get $5 i32.lt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -7678,10 +7678,10 @@ local.get $7 i32.gt_u if + local.get $10 local.get $1 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $8 @@ -7690,11 +7690,11 @@ if local.get $0 local.get $8 - local.get $11 local.get $1 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -7718,11 +7718,11 @@ br $for-loop|3 end end - local.get $10 local.get $7 i32.const 2 i32.shl local.tee $1 + local.get $10 i32.add local.get $3 i32.store @@ -7743,10 +7743,10 @@ loop $for-loop|4 local.get $1 if + local.get $10 local.get $1 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $3 @@ -7755,10 +7755,10 @@ if local.get $0 local.get $3 + local.get $11 local.get $1 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -7797,10 +7797,10 @@ ) (func $~lib/array/Array<~lib/array/Array>#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -8181,13 +8181,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -8216,13 +8216,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -8242,12 +8242,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -8257,12 +8257,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -8285,10 +8285,10 @@ i32.sub local.set $1 end + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add local.set $0 local.get $1 @@ -8420,7 +8420,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $3 local.get $1 i32.const 20 i32.sub @@ -8430,6 +8429,7 @@ local.tee $5 i32.const 11 i32.add + local.get $3 i32.mul i32.const 11 i32.add @@ -8447,15 +8447,15 @@ local.get $6 i32.gt_s if + local.get $2 local.get $0 i32.const 1 i32.shl - local.get $2 i32.add + local.get $4 local.get $6 i32.const 2 i32.shl - local.get $4 i32.add i32.load call $~lib/util/number/itoa_buffered @@ -8464,10 +8464,10 @@ local.set $0 local.get $5 if + local.get $2 local.get $0 i32.const 1 i32.shl - local.get $2 i32.add local.get $1 local.get $5 @@ -8486,23 +8486,23 @@ br $for-loop|0 end end - local.get $7 + local.get $2 local.get $0 i32.const 1 i32.shl - local.get $2 i32.add + local.get $4 local.get $3 i32.const 2 i32.shl - local.get $4 i32.add i32.load call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $7 + i32.lt_s if local.get $2 local.get $0 @@ -8649,7 +8649,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $3 local.get $1 i32.const 20 i32.sub @@ -8659,6 +8658,7 @@ local.tee $5 i32.const 10 i32.add + local.get $3 i32.mul i32.const 10 i32.add @@ -8676,15 +8676,15 @@ local.get $6 i32.gt_s if + local.get $2 local.get $0 i32.const 1 i32.shl - local.get $2 i32.add + local.get $4 local.get $6 i32.const 2 i32.shl - local.get $4 i32.add i32.load call $~lib/util/number/itoa_buffered @@ -8693,10 +8693,10 @@ local.set $0 local.get $5 if + local.get $2 local.get $0 i32.const 1 i32.shl - local.get $2 i32.add local.get $1 local.get $5 @@ -8715,23 +8715,23 @@ br $for-loop|0 end end - local.get $7 + local.get $2 local.get $0 i32.const 1 i32.shl - local.get $2 i32.add + local.get $4 local.get $3 i32.const 2 i32.shl - local.get $4 i32.add i32.load call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $7 + i32.lt_s if local.get $2 local.get $0 @@ -8765,7 +8765,6 @@ local.get $1 i64.sub local.set $12 - local.get $2 i64.const 1 i32.const 0 local.get $3 @@ -8778,6 +8777,7 @@ i64.const 1 i64.sub local.tee $11 + local.get $2 i64.and local.set $7 local.get $2 @@ -8961,10 +8961,10 @@ i32.const 1 i32.add local.set $5 + local.get $0 local.get $8 i32.const 1 i32.shl - local.get $0 i32.add local.get $6 i32.const 65535 @@ -8977,19 +8977,19 @@ i32.const 1 i32.sub local.set $9 - local.get $4 - local.get $7 local.get $3 i64.extend_i32_u local.get $10 i64.extend_i32_s i64.shl + local.get $7 i64.add local.tee $1 - i64.ge_u + local.get $4 + i64.le_u if - local.get $9 global.get $~lib/util/number/_K + local.get $9 i32.add global.set $~lib/util/number/_K local.get $9 @@ -9002,12 +9002,12 @@ i64.extend_i32_s i64.shl local.set $2 + local.get $0 local.get $5 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.tee $0 i32.load16_u @@ -9016,11 +9016,11 @@ local.get $1 local.get $12 i64.lt_u - local.get $2 local.get $4 local.get $1 i64.sub - i64.le_u + local.get $2 + i64.ge_u i32.and if (result i32) local.get $12 @@ -9085,10 +9085,10 @@ i32.const 1 i32.add local.set $5 + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $2 i32.wrap_i64 @@ -9102,19 +9102,20 @@ i32.const 1 i32.sub local.set $9 + local.get $4 local.get $1 local.get $11 i64.and local.tee $7 - local.get $4 - i64.ge_u + i64.le_u br_if $while-continue|4 - local.get $9 global.get $~lib/util/number/_K + local.get $9 i32.add global.set $~lib/util/number/_K local.get $7 local.set $1 + local.get $12 i32.const 0 local.get $9 i32.sub @@ -9123,15 +9124,14 @@ i32.const 13296 i32.add i64.load32_u - local.get $12 i64.mul local.set $2 + local.get $0 local.get $5 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.tee $0 i32.load16_u @@ -9140,11 +9140,11 @@ local.get $1 local.get $2 i64.lt_u - local.get $13 local.get $4 local.get $1 i64.sub - i64.le_u + local.get $13 + i64.ge_u i32.and if (result i32) local.get $2 @@ -9188,10 +9188,10 @@ local.get $2 i32.eqz if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.const 3145774 i32.store @@ -9216,10 +9216,10 @@ local.get $3 i32.lt_s if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.const 48 i32.store16 @@ -9230,10 +9230,10 @@ br $for-loop|0 end end + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add i32.const 3145774 i32.store @@ -9249,10 +9249,10 @@ i32.gt_s i32.and if (result i32) + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.tee $0 i32.const 2 @@ -9279,13 +9279,13 @@ i32.gt_s i32.and if (result i32) + local.get $0 i32.const 2 local.get $3 i32.sub local.tee $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $0 local.get $1 @@ -9302,10 +9302,10 @@ local.get $3 i32.lt_s if + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add i32.const 48 i32.store16 @@ -9614,9 +9614,9 @@ local.tee $1 i32.trunc_sat_f64_s local.tee $8 - local.get $1 local.get $8 f64.convert_i32_s + local.get $1 f64.ne i32.add i32.const 3 @@ -9671,11 +9671,11 @@ i64.const 4294967295 i64.and local.set $13 + local.get $11 local.get $2 i64.const 32 i64.shr_u local.tee $6 - local.get $11 i64.mul local.get $11 local.get $13 @@ -9689,11 +9689,11 @@ i64.const 4294967295 i64.and local.set $2 + local.get $11 local.get $15 i64.const 32 i64.shr_u local.tee $15 - local.get $11 i64.mul local.get $2 local.get $11 @@ -9702,11 +9702,11 @@ i64.shr_u i64.add local.set $11 - local.get $6 local.get $10 i64.const 32 i64.shr_u local.tee $10 + local.get $6 i64.mul local.get $14 i64.const 32 @@ -9727,10 +9727,10 @@ i64.const 1 i64.sub local.set $6 + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $0 local.get $4 @@ -9753,8 +9753,8 @@ i64.shr_u i64.add local.get $6 - global.get $~lib/util/number/_exp_pow local.get $7 + global.get $~lib/util/number/_exp_pow i32.add i32.const -64 i32.sub @@ -9991,7 +9991,6 @@ br $__inlined_func$~lib/util/string/joinFloatArray end global.get $~lib/memory/__stack_pointer - local.get $3 i32.const 12188 i32.load i32.const 1 @@ -9999,6 +9998,7 @@ local.tee $5 i32.const 28 i32.add + local.get $3 i32.mul i32.const 28 i32.add @@ -10016,15 +10016,15 @@ local.get $6 i32.gt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $4 local.get $6 i32.const 3 i32.shl - local.get $4 i32.add f64.load call $~lib/util/number/dtoa_buffered @@ -10033,10 +10033,10 @@ local.set $0 local.get $5 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 12192 local.get $5 @@ -10055,23 +10055,23 @@ br $for-loop|0 end end - local.get $7 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $4 local.get $3 i32.const 3 i32.shl - local.get $4 i32.add f64.load call $~lib/util/number/dtoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $7 + i32.lt_s if local.get $1 local.get $0 @@ -10186,10 +10186,10 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add i32.load local.tee $5 @@ -10224,10 +10224,10 @@ end end global.get $~lib/memory/__stack_pointer + local.get $2 local.get $3 i32.const 2 i32.shl - local.get $2 i32.add i32.load local.tee $1 @@ -10281,10 +10281,10 @@ i32.sub local.set $1 end + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add local.set $3 local.get $1 @@ -10466,10 +10466,10 @@ i32.sub local.set $1 end + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add local.set $3 local.get $1 @@ -10553,13 +10553,13 @@ i64.const 100000000 i64.ge_u if + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 local.get $1 @@ -10593,13 +10593,13 @@ i64.shl i64.or i64.store + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 10000 @@ -10977,7 +10977,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $6 i32.const 9980 i32.load i32.const 1 @@ -10985,6 +10984,7 @@ local.tee $3 i32.const 20 i32.add + local.get $6 i32.mul i32.const 20 i32.add @@ -11002,15 +11002,15 @@ local.get $6 i32.lt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $7 local.get $4 i32.const 3 i32.shl - local.get $7 i32.add i64.load call $~lib/util/number/itoa_buffered @@ -11019,10 +11019,10 @@ local.set $0 local.get $3 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9984 local.get $3 @@ -11041,23 +11041,23 @@ br $for-loop|0 end end - local.get $5 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $7 local.get $6 i32.const 3 i32.shl - local.get $7 i32.add i64.load call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $5 + i32.lt_s if local.get $1 local.get $0 @@ -11103,10 +11103,10 @@ i64.sub local.set $1 end + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.set $4 local.get $1 @@ -11328,7 +11328,6 @@ i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $1 local.get $2 i32.wrap_i64 local.tee $3 @@ -11380,6 +11379,7 @@ local.tee $4 i32.const 1 i32.shl + local.get $1 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -11393,7 +11393,6 @@ call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $1 local.get $2 i64.const 1000000000000000 i64.lt_u @@ -11447,6 +11446,7 @@ local.tee $3 i32.const 1 i32.shl + local.get $1 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -11479,7 +11479,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $6 i32.const 9980 i32.load i32.const 1 @@ -11487,6 +11486,7 @@ local.tee $7 i32.const 21 i32.add + local.get $6 i32.mul i32.const 21 i32.add @@ -11504,15 +11504,15 @@ local.get $6 i32.lt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $5 local.get $3 i32.const 3 i32.shl - local.get $5 i32.add i64.load call $~lib/util/number/itoa_buffered @@ -11521,10 +11521,10 @@ local.set $0 local.get $7 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9984 local.get $7 @@ -11543,23 +11543,23 @@ br $for-loop|0 end end - local.get $4 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $5 local.get $6 i32.const 3 i32.shl - local.get $5 i32.add i64.load call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $4 + i32.lt_s if local.get $1 local.get $0 @@ -11939,22 +11939,22 @@ end global.get $~lib/memory/__stack_pointer local.tee $4 + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $5 i32.store local.get $4 + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $6 @@ -11976,10 +11976,10 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.tee $6 + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $7 i32.load offset=4 @@ -12018,20 +12018,20 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load local.tee $5 i32.store offset=8 local.get $3 + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load @@ -12058,10 +12058,10 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $5 i32.load offset=4 @@ -12366,12 +12366,12 @@ i32.const 0 i32.store block $__inlined_func$~lib/string/String#charAt + local.get $4 i32.const 8156 i32.load i32.const 1 i32.shr_u - local.get $4 - i32.le_u + i32.ge_u if global.get $~lib/memory/__stack_pointer i32.const 4 @@ -12550,7 +12550,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $3 i32.const 9980 i32.load i32.const 1 @@ -12558,6 +12557,7 @@ local.tee $5 i32.const 11 i32.add + local.get $3 i32.mul i32.const 11 i32.add @@ -12575,10 +12575,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add local.get $2 local.get $4 @@ -12590,10 +12590,10 @@ local.set $0 local.get $5 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9984 local.get $5 @@ -12612,11 +12612,10 @@ br $for-loop|0 end end - local.get $6 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add local.get $3 local.get $4 @@ -12626,7 +12625,8 @@ local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $6 + i32.lt_s if local.get $1 local.get $0 @@ -12764,7 +12764,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $3 i32.const 9980 i32.load i32.const 1 @@ -12772,6 +12771,7 @@ local.tee $5 i32.const 10 i32.add + local.get $3 i32.mul i32.const 10 i32.add @@ -12789,10 +12789,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add local.get $2 local.get $4 @@ -12804,10 +12804,10 @@ local.set $0 local.get $5 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9984 local.get $5 @@ -12826,11 +12826,10 @@ br $for-loop|0 end end - local.get $6 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add local.get $3 local.get $4 @@ -12840,7 +12839,8 @@ local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $6 + i32.lt_s if local.get $1 local.get $0 @@ -13003,10 +13003,10 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.tee $6 @@ -13043,10 +13043,10 @@ end end global.get $~lib/memory/__stack_pointer + local.get $3 local.get $4 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.tee $1 @@ -15901,21 +15901,21 @@ local.get $10 i32.lt_u if + local.get $8 local.get $0 i32.const 2 i32.shl - local.get $8 i32.add local.tee $11 i32.load local.set $12 local.get $11 + local.get $8 local.get $9 local.get $0 i32.sub i32.const 2 i32.shl - local.get $8 i32.add local.tee $11 i32.load @@ -16353,11 +16353,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 44 @@ -16410,11 +16410,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 42 @@ -16469,11 +16469,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 45 @@ -16528,11 +16528,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 43 @@ -16595,10 +16595,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const 43 @@ -16661,10 +16661,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const 43 @@ -16727,10 +16727,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const 43 @@ -16785,11 +16785,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 43 @@ -16844,11 +16844,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 43 @@ -16903,11 +16903,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 43 @@ -16967,11 +16967,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const nan:0x400000 @@ -17029,11 +17029,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const nan:0x8000000000000 @@ -17097,11 +17097,11 @@ i32.const 0 i32.ge_s if + local.get $8 local.get $0 local.tee $3 i32.const 2 i32.shl - local.get $8 i32.add i32.load i32.const 2 @@ -17157,11 +17157,11 @@ i32.const 0 i32.ge_s if + local.get $8 local.get $0 local.tee $3 i32.const 2 i32.shl - local.get $8 i32.add i32.load i32.const 7 @@ -17213,10 +17213,10 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 2 @@ -17268,10 +17268,10 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 2 @@ -17316,10 +17316,10 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 2 @@ -17364,10 +17364,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const 2 @@ -17420,11 +17420,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 44 @@ -17477,11 +17477,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 42 @@ -17534,11 +17534,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 45 @@ -17591,11 +17591,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 43 @@ -17656,10 +17656,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const 43 @@ -17720,10 +17720,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const 43 @@ -17784,10 +17784,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const 43 @@ -17840,11 +17840,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 43 @@ -17897,11 +17897,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 43 @@ -17954,11 +17954,11 @@ local.get $8 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 43 @@ -18017,10 +18017,10 @@ i32.lt_s if i32.const 1 + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add f32.load local.tee $7 @@ -18082,10 +18082,10 @@ i32.lt_s if i32.const 1 + local.get $1 local.get $0 i32.const 3 i32.shl - local.get $1 i32.add f64.load local.tee $6 @@ -19294,18 +19294,18 @@ i32.const 2 i32.shl memory.copy - local.get $8 local.get $3 local.get $9 i32.add local.tee $9 + local.get $8 i32.ne if local.get $12 + local.get $11 local.get $9 i32.const 2 i32.shl - local.get $11 i32.add local.get $8 local.get $9 @@ -19462,6 +19462,7 @@ local.set $3 block $__inlined_func$~lib/array/Array#findIndex loop $for-loop|092 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -19470,8 +19471,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -19524,6 +19524,7 @@ local.set $3 block $__inlined_func$~lib/array/Array#findIndex94 loop $for-loop|096 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -19532,8 +19533,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -19588,6 +19588,7 @@ local.set $3 block $__inlined_func$~lib/array/Array#findIndex98 loop $for-loop|0100 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -19596,8 +19597,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -19652,6 +19652,7 @@ local.set $3 block $__inlined_func$~lib/array/Array#findIndex102 loop $for-loop|0104 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -19660,8 +19661,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -19732,6 +19732,7 @@ local.set $3 block $__inlined_func$~lib/array/Array#findIndex107 loop $for-loop|0109 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -19740,8 +19741,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -19823,6 +19823,7 @@ local.set $3 block $__inlined_func$~lib/array/Array#findIndex111 loop $for-loop|0113 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -19831,8 +19832,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -20131,6 +20131,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0132 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -20139,8 +20140,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -20195,6 +20195,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0136 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -20203,8 +20204,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -20258,6 +20258,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0140 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -20266,8 +20267,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -20338,6 +20338,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0145 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -20346,8 +20347,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -20428,6 +20428,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0149 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -20436,8 +20437,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -20521,6 +20521,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0153 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -20529,8 +20530,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -20584,6 +20584,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0157 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -20592,8 +20593,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -20646,6 +20646,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0161 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -20654,8 +20655,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -20724,6 +20724,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0166 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -20732,8 +20733,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -20814,6 +20814,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0170 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -20822,8 +20823,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -20906,6 +20906,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0174 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -20914,8 +20915,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -20965,6 +20965,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0178 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -20973,8 +20974,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -21040,6 +21040,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0183 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -21048,8 +21049,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -21126,6 +21126,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0187 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -21134,8 +21135,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -21212,6 +21212,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0192 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -21220,8 +21221,7 @@ local.get $8 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $1 i32.load offset=4 @@ -21345,6 +21345,7 @@ i32.const 0 local.set $0 loop $for-loop|0196 + local.get $0 local.get $8 local.get $3 i32.load offset=12 @@ -21353,8 +21354,7 @@ local.get $11 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $0 i32.const 2 @@ -21405,7 +21405,6 @@ local.get $9 i32.const 0 call $~lib/array/Array#__get - local.set $7 global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 @@ -21414,7 +21413,6 @@ i32.const 0 call $~lib/array/Array#__get f32.convert_i32_s - local.get $7 f32.ne if i32.const 0 @@ -21757,6 +21755,7 @@ i32.load offset=12 local.set $8 loop $for-loop|0205 + local.get $0 local.get $8 local.get $3 i32.load offset=12 @@ -21765,8 +21764,7 @@ local.get $9 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $3 i32.load offset=4 @@ -21822,6 +21820,7 @@ i32.load offset=12 local.set $8 loop $for-loop|0209 + local.get $0 local.get $8 local.get $3 i32.load offset=12 @@ -21830,8 +21829,7 @@ local.get $9 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $3 i32.load offset=4 @@ -21887,6 +21885,7 @@ i32.load offset=12 local.set $8 loop $for-loop|0213 + local.get $0 local.get $8 local.get $3 i32.load offset=12 @@ -21895,8 +21894,7 @@ local.get $9 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $3 i32.load offset=4 @@ -21949,6 +21947,7 @@ i32.load offset=12 local.set $8 loop $for-loop|0217 + local.get $0 local.get $8 local.get $3 i32.load offset=12 @@ -21957,8 +21956,7 @@ local.get $9 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $3 i32.load offset=4 @@ -22010,6 +22008,7 @@ i32.load offset=12 local.set $8 loop $for-loop|0221 + local.get $0 local.get $8 local.get $3 i32.load offset=12 @@ -22018,8 +22017,7 @@ local.get $9 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $3 i32.load offset=4 @@ -22091,6 +22089,7 @@ i32.load offset=12 local.set $8 loop $for-loop|0226 + local.get $0 local.get $8 local.get $3 i32.load offset=12 @@ -22099,8 +22098,7 @@ local.get $9 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $3 i32.load offset=4 @@ -22183,6 +22181,7 @@ i32.load offset=12 local.set $8 loop $for-loop|0230 + local.get $0 local.get $8 local.get $3 i32.load offset=12 @@ -22191,8 +22190,7 @@ local.get $9 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if local.get $3 i32.load offset=4 @@ -24522,7 +24520,6 @@ br $__inlined_func$~lib/util/string/joinBooleanArray end global.get $~lib/memory/__stack_pointer - local.get $4 i32.const 9980 i32.load i32.const 1 @@ -24530,6 +24527,7 @@ local.tee $8 i32.const 5 i32.add + local.get $4 i32.mul i32.const 5 i32.add @@ -24556,10 +24554,10 @@ i32.const 4 i32.add local.set $11 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9920 i32.const 9952 @@ -24575,10 +24573,10 @@ local.set $0 local.get $8 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9984 local.get $8 @@ -24606,10 +24604,10 @@ i32.const 4 i32.add local.set $3 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9920 i32.const 9952 @@ -24619,12 +24617,12 @@ i32.const 1 i32.shl memory.copy - local.get $9 local.get $0 local.get $3 i32.add local.tee $0 - i32.gt_s + local.get $9 + i32.lt_s if local.get $1 local.get $0 @@ -25196,7 +25194,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $4 i32.const 9980 i32.load i32.const 1 @@ -25204,6 +25201,7 @@ local.tee $8 i32.const 10 i32.add + local.get $4 i32.mul i32.const 10 i32.add @@ -25221,15 +25219,15 @@ local.get $4 i32.lt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $2 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_u call $~lib/util/number/itoa_buffered @@ -25238,10 +25236,10 @@ local.set $0 local.get $8 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9984 local.get $8 @@ -25260,23 +25258,23 @@ br $for-loop|056 end end - local.get $9 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $4 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_u call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $9 + i32.lt_s if local.get $1 local.get $0 @@ -25391,7 +25389,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $4 i32.const 9980 i32.load i32.const 1 @@ -25399,6 +25396,7 @@ local.tee $8 i32.const 11 i32.add + local.get $4 i32.mul i32.const 11 i32.add @@ -25416,15 +25414,15 @@ local.get $4 i32.lt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $2 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s call $~lib/util/number/itoa_buffered @@ -25433,10 +25431,10 @@ local.set $0 local.get $8 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9984 local.get $8 @@ -25455,23 +25453,23 @@ br $for-loop|057 end end - local.get $9 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $4 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $9 + i32.lt_s if local.get $1 local.get $0 @@ -25825,10 +25823,10 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer + local.get $3 local.get $2 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.tee $8 @@ -25865,10 +25863,10 @@ end end global.get $~lib/memory/__stack_pointer + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.tee $1 @@ -26039,10 +26037,10 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer + local.get $3 local.get $2 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.tee $8 @@ -26079,10 +26077,10 @@ end end global.get $~lib/memory/__stack_pointer + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.tee $1 @@ -26261,10 +26259,10 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer + local.get $3 local.get $2 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.tee $8 @@ -26301,10 +26299,10 @@ end end global.get $~lib/memory/__stack_pointer + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.tee $1 @@ -26518,10 +26516,10 @@ local.get $1 i32.lt_s if + local.get $8 local.get $0 i32.const 2 i32.shl - local.get $8 i32.add i32.load local.tee $2 @@ -26584,10 +26582,10 @@ local.get $1 i32.lt_s if + local.get $8 local.get $0 i32.const 2 i32.shl - local.get $8 i32.add i32.load local.tee $11 @@ -26622,10 +26620,10 @@ local.get $3 i32.lt_s if + local.get $9 local.get $0 i32.const 2 i32.shl - local.get $9 i32.add i32.load local.tee $1 @@ -26671,10 +26669,10 @@ i32.const 0 local.set $0 loop $for-loop|8 + local.get $0 local.get $1 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $10 local.get $0 @@ -26824,6 +26822,7 @@ i32.const 0 local.set $0 loop $for-loop|061 + local.get $0 local.get $3 local.get $1 i32.load offset=12 @@ -26832,8 +26831,7 @@ local.get $9 i32.lt_s select - local.get $0 - i32.gt_s + i32.lt_s if global.get $~lib/memory/__stack_pointer local.tee $9 @@ -27495,18 +27493,18 @@ i32.const 2 i32.shl memory.copy - local.get $3 local.get $4 local.get $5 i32.add local.tee $4 + local.get $3 i32.ne if local.get $6 + local.get $2 local.get $4 i32.const 2 i32.shl - local.get $2 i32.add local.get $3 local.get $4 @@ -27611,18 +27609,18 @@ i32.const 2 i32.shl memory.copy - local.get $4 local.get $3 local.get $5 i32.add local.tee $5 + local.get $4 i32.ne if local.get $2 + local.get $1 local.get $5 i32.const 2 i32.shl - local.get $1 i32.add local.get $4 local.get $5 @@ -27661,10 +27659,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1344 i32.const 1104 @@ -27719,10 +27717,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1344 i32.const 1104 @@ -27787,6 +27785,7 @@ i32.load offset=4 local.set $4 loop $for-loop|0 + local.get $2 local.get $3 local.get $0 i32.load offset=12 @@ -27795,8 +27794,7 @@ local.get $5 i32.lt_s select - local.get $2 - i32.gt_s + i32.lt_s if local.get $2 i32.const 2 @@ -27867,6 +27865,7 @@ i32.load offset=12 local.set $3 loop $for-loop|0 + local.get $2 local.get $3 local.get $0 i32.load offset=12 @@ -27875,8 +27874,7 @@ local.get $5 i32.lt_s select - local.get $2 - i32.gt_s + i32.lt_s if local.get $0 i32.load offset=4 @@ -28173,10 +28171,10 @@ return end i32.const 0 + local.get $4 local.get $1 i32.const 1 i32.shl - local.get $4 i32.eq local.get $3 select @@ -28485,23 +28483,23 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $6 i32.store offset=4 local.get $6 if + local.get $3 local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.get $3 i32.add local.set $3 end @@ -28516,7 +28514,6 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $3 - local.get $5 local.get $2 i32.const 20 i32.sub @@ -28524,6 +28521,7 @@ i32.const 1 i32.shr_u local.tee $3 + local.get $5 i32.mul i32.add i32.const 1 @@ -28540,20 +28538,20 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $7 i32.store offset=4 local.get $7 if + local.get $6 local.get $1 i32.const 1 i32.shl - local.get $6 i32.add local.get $7 local.get $7 @@ -28573,10 +28571,10 @@ end local.get $3 if + local.get $6 local.get $1 i32.const 1 i32.shl - local.get $6 i32.add local.get $2 local.get $3 @@ -28596,20 +28594,20 @@ end end global.get $~lib/memory/__stack_pointer + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $0 i32.store offset=4 local.get $0 if + local.get $6 local.get $1 i32.const 1 i32.shl - local.get $6 i32.add local.get $0 local.get $0 @@ -28666,10 +28664,10 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load local.tee $4 @@ -28732,10 +28730,10 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load local.tee $6 diff --git a/tests/compiler/std/arraybuffer.release.wat b/tests/compiler/std/arraybuffer.release.wat index fbf97f2cbe..8f68ae2e30 100644 --- a/tests/compiler/std/arraybuffer.release.wat +++ b/tests/compiler/std/arraybuffer.release.wat @@ -95,8 +95,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -156,11 +156,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -174,10 +174,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1712 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1360 i32.const 1424 @@ -200,23 +200,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -319,37 +319,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -500,12 +500,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -566,14 +566,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -589,14 +589,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -608,10 +608,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -648,11 +648,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1504 @@ -661,10 +661,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -676,11 +676,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1504 @@ -719,10 +719,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -779,10 +779,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -843,25 +843,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -918,23 +918,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1090,13 +1090,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1136,10 +1136,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1148,6 +1148,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1156,7 +1157,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1170,12 +1170,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1188,6 +1188,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1196,7 +1197,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1317,6 +1317,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1325,7 +1326,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1378,12 +1378,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1504 @@ -1421,16 +1421,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1474,19 +1474,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1974,12 +1974,12 @@ local.get $2 i32.const 0 i32.store offset=8 - local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 - i32.gt_u + local.get $1 + i32.lt_u local.get $1 i32.const 1073741820 i32.gt_u diff --git a/tests/compiler/std/dataview.release.wat b/tests/compiler/std/dataview.release.wat index 5a38fa8724..44177e1cae 100644 --- a/tests/compiler/std/dataview.release.wat +++ b/tests/compiler/std/dataview.release.wat @@ -101,8 +101,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -162,11 +162,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -180,10 +180,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1744 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1360 i32.const 1424 @@ -206,23 +206,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -325,37 +325,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -506,12 +506,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -572,14 +572,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -595,14 +595,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -614,10 +614,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -654,11 +654,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1504 @@ -667,10 +667,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -682,11 +682,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1504 @@ -725,10 +725,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -785,10 +785,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -849,25 +849,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -924,23 +924,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1096,13 +1096,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1142,10 +1142,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1154,6 +1154,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1162,7 +1163,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1176,12 +1176,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1194,6 +1194,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1202,7 +1203,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1323,6 +1323,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1331,7 +1332,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1384,12 +1384,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1504 @@ -1427,16 +1427,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1480,19 +1480,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1517,10 +1517,10 @@ local.get $1 ) (func $~lib/typedarray/Uint8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 i32.load offset=8 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1568 @@ -1529,9 +1529,9 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add local.get $2 i32.store8 @@ -1557,15 +1557,15 @@ end local.get $2 if (result f32) - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add f32.load else - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load local.tee $0 @@ -1633,10 +1633,10 @@ end ) (func $~lib/dataview/DataView#getInt8 (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=8 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -1645,9 +1645,9 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_s ) @@ -1670,9 +1670,9 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load16_s local.tee $0 @@ -1707,9 +1707,9 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load local.set $0 @@ -1779,10 +1779,10 @@ end ) (func $~lib/dataview/DataView#getUint8 (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=8 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -1791,9 +1791,9 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_u ) @@ -1816,9 +1816,9 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load16_u local.tee $0 @@ -1851,9 +1851,9 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load local.set $0 diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index 5f6c7418a9..dd4b00d71a 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -264,14 +264,13 @@ i32.const 400 i32.div_s local.set $3 - local.get $2 + local.get $1 i32.const -3 i32.const 9 local.get $1 i32.const 2 i32.gt_s select - local.get $1 i32.add i32.const 153 i32.mul @@ -279,6 +278,7 @@ i32.add i32.const 5 i32.div_u + local.get $2 i32.add local.get $0 local.get $3 @@ -383,20 +383,20 @@ i32.const 1 i32.add global.set $~lib/date/_day + local.get $1 i32.const 3 i32.const -9 local.get $1 i32.const 10 i32.lt_s select - local.get $1 i32.add local.tee $1 global.set $~lib/date/_month + local.get $2 local.get $0 i32.const 400 i32.mul - local.get $2 i32.add local.get $1 i32.const 2 @@ -462,8 +462,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -523,11 +523,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -541,10 +541,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 7504 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1392 i32.const 1456 @@ -567,23 +567,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -686,37 +686,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -867,12 +867,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -933,14 +933,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -956,14 +956,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -975,10 +975,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -1015,11 +1015,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1536 @@ -1028,10 +1028,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -1043,11 +1043,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1536 @@ -1086,10 +1086,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -1146,10 +1146,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -1210,25 +1210,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1285,23 +1285,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1457,13 +1457,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1503,10 +1503,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1515,6 +1515,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1523,7 +1524,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1537,12 +1537,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1555,6 +1555,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1563,7 +1564,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1684,6 +1684,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1692,7 +1693,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1745,12 +1745,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1536 @@ -1788,16 +1788,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1841,19 +1841,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -2033,9 +2033,9 @@ (local $2 i64) (local $3 i32) (local $4 i32) - local.get $1 local.get $0 i32.load offset=8 + local.get $1 i32.eq if return @@ -2072,14 +2072,13 @@ i32.const 400 i32.div_s local.set $0 - local.get $1 + local.get $4 i32.const -3 i32.const 9 local.get $4 i32.const 2 i32.gt_s select - local.get $4 i32.add i32.const 153 i32.mul @@ -2087,6 +2086,7 @@ i32.add i32.const 5 i32.div_u + local.get $1 i32.add local.get $3 local.get $0 @@ -2175,14 +2175,13 @@ i32.const 400 i32.div_s local.set $4 - local.get $2 + local.get $1 i32.const -3 i32.const 9 local.get $1 i32.const 2 i32.gt_s select - local.get $1 i32.add i32.const 153 i32.mul @@ -2190,6 +2189,7 @@ i32.add i32.const 5 i32.div_u + local.get $2 i32.add local.get $0 local.get $4 @@ -2225,9 +2225,9 @@ (local $2 i64) (local $3 i32) (local $4 i32) - local.get $1 local.get $0 i32.load + local.get $1 i32.eq if return @@ -2265,13 +2265,13 @@ i64.add local.get $0 i32.load offset=8 + local.get $4 i32.const -3 i32.const 9 local.get $4 i32.const 2 i32.gt_s select - local.get $4 i32.add i32.const 153 i32.mul @@ -2429,13 +2429,13 @@ i32.const 10000 i32.div_u local.set $0 + local.get $3 local.get $1 i32.const 4 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $3 i32.add local.get $5 i32.const 100 @@ -2464,13 +2464,13 @@ i32.const 100 i32.ge_u if + local.get $3 local.get $1 i32.const 2 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $3 i32.add local.get $0 i32.const 100 @@ -2490,12 +2490,12 @@ i32.const 10 i32.ge_u if + local.get $3 local.get $1 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $3 i32.add local.get $0 i32.const 2 @@ -2505,12 +2505,12 @@ i32.load i32.store else + local.get $3 local.get $1 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $3 i32.add local.get $0 i32.const 48 @@ -2608,10 +2608,10 @@ ) (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.tee $1 i32.const 7 @@ -3145,6 +3145,7 @@ local.set $1 local.get $0 if + local.get $3 local.get $2 i32.load16_u local.tee $0 @@ -3180,8 +3181,7 @@ end end local.tee $0 - local.get $3 - i32.ge_u + i32.le_u if local.get $1 local.get $6 @@ -3192,10 +3192,10 @@ end br $while-break|2 end - local.get $0 local.get $3 local.get $5 i32.mul + local.get $0 i32.add local.set $5 local.get $2 @@ -3234,10 +3234,10 @@ return end local.get $0 + local.get $0 i32.const 20 i32.sub i32.load offset=16 - local.get $0 i32.add local.set $1 loop $while-continue|0 @@ -3734,6 +3734,7 @@ i32.load8_u local.get $6 local.get $6 + local.get $6 i32.const 3 i32.sub local.get $6 @@ -3761,7 +3762,6 @@ i32.const 400 i32.div_s i32.add - local.get $6 i32.add i32.add i32.add @@ -3813,21 +3813,21 @@ end global.get $~lib/memory/__stack_pointer local.tee $4 + local.get $3 local.get $6 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.tee $3 i32.store offset=32 local.get $4 + local.get $2 local.get $5 i32.const 1 i32.sub i32.const 2 i32.shl - local.get $2 i32.add i32.load local.tee $2 @@ -4099,6 +4099,7 @@ i32.load8_u local.get $1 local.get $1 + local.get $1 i32.const 3 i32.sub local.get $1 @@ -4126,7 +4127,6 @@ i32.const 400 i32.div_s i32.add - local.get $1 i32.add i32.add i32.add @@ -4177,10 +4177,10 @@ i32.store offset=16 end global.get $~lib/memory/__stack_pointer + local.get $3 local.get $8 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.tee $3 @@ -4209,12 +4209,12 @@ local.get $3 i32.store offset=72 global.get $~lib/memory/__stack_pointer + local.get $4 local.get $6 i32.const 1 i32.sub i32.const 2 i32.shl - local.get $4 i32.add i32.load local.tee $4 @@ -4505,17 +4505,17 @@ local.tee $5 i32.store offset=8 local.get $5 + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u i32.store16 + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add local.get $5 i32.store @@ -4566,10 +4566,10 @@ local.tee $7 i32.store offset=16 local.get $7 + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $9 memory.copy @@ -4623,10 +4623,10 @@ local.tee $3 i32.store offset=4 local.get $3 + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 memory.copy @@ -6361,6 +6361,7 @@ i32.load8_u local.get $3 local.get $3 + local.get $3 i32.const 3 i32.sub local.get $3 @@ -6388,7 +6389,6 @@ i32.const 400 i32.div_s i32.add - local.get $3 i32.add i32.add i32.add @@ -6434,6 +6434,7 @@ i32.load8_u local.get $3 local.get $3 + local.get $3 i32.const 3 i32.sub local.get $3 @@ -6461,7 +6462,6 @@ i32.const 400 i32.div_s i32.add - local.get $3 i32.add i32.add i32.add @@ -6507,6 +6507,7 @@ i32.load8_u local.get $3 local.get $3 + local.get $3 i32.const 3 i32.sub local.get $3 @@ -6534,7 +6535,6 @@ i32.const 400 i32.div_s i32.add - local.get $3 i32.add i32.add i32.add @@ -6580,6 +6580,7 @@ i32.load8_u local.get $3 local.get $3 + local.get $3 i32.const 3 i32.sub local.get $3 @@ -6607,7 +6608,6 @@ i32.const 400 i32.div_s i32.add - local.get $3 i32.add i32.add i32.add @@ -6653,6 +6653,7 @@ i32.load8_u local.get $3 local.get $3 + local.get $3 i32.const 3 i32.sub local.get $3 @@ -6680,7 +6681,6 @@ i32.const 400 i32.div_s i32.add - local.get $3 i32.add i32.add i32.add @@ -6726,6 +6726,7 @@ i32.load8_u local.get $3 local.get $3 + local.get $3 i32.const 3 i32.sub local.get $3 @@ -6753,7 +6754,6 @@ i32.const 400 i32.div_s i32.add - local.get $3 i32.add i32.add i32.add @@ -6799,6 +6799,7 @@ i32.load8_u local.get $3 local.get $3 + local.get $3 i32.const 3 i32.sub local.get $3 @@ -6826,7 +6827,6 @@ i32.const 400 i32.div_s i32.add - local.get $3 i32.add i32.add i32.add @@ -6872,6 +6872,7 @@ i32.load8_u local.get $3 local.get $3 + local.get $3 i32.const 3 i32.sub local.get $3 @@ -6899,7 +6900,6 @@ i32.const 400 i32.div_s i32.add - local.get $3 i32.add i32.add i32.add @@ -8339,21 +8339,21 @@ call $~lib/rt/itcms/__new local.tee $5 i32.store - local.get $2 local.get $1 local.get $4 i32.sub local.tee $6 - i32.lt_u + local.get $2 + i32.gt_u if local.get $6 - local.get $2 local.get $6 i32.const 2 i32.sub local.get $2 i32.div_u local.tee $7 + local.get $2 i32.mul local.tee $8 i32.sub @@ -8486,10 +8486,10 @@ return end i32.const 0 + local.get $2 local.get $1 i32.const 1 i32.shl - local.get $2 i32.eq local.get $4 select @@ -8598,10 +8598,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1392 i32.const 6496 diff --git a/tests/compiler/std/hash.release.wat b/tests/compiler/std/hash.release.wat index 656711ac9a..72f358b8ca 100644 --- a/tests/compiler/std/hash.release.wat +++ b/tests/compiler/std/hash.release.wat @@ -67,44 +67,44 @@ local.get $7 i32.le_u if + local.get $2 local.get $1 i32.load i32.const -2048144777 i32.mul - local.get $2 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $2 + local.get $4 local.get $1 i32.load offset=4 i32.const -2048144777 i32.mul - local.get $4 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $4 + local.get $6 local.get $1 i32.load offset=8 i32.const -2048144777 i32.mul - local.get $6 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $6 + local.get $5 local.get $1 i32.load offset=12 i32.const -2048144777 i32.mul - local.get $5 i32.add i32.const 13 i32.rotl @@ -118,6 +118,7 @@ br $while-continue|0 end end + local.get $3 local.get $2 i32.const 1 i32.rotl @@ -133,7 +134,6 @@ i32.const 18 i32.rotl i32.add - local.get $3 i32.add else local.get $3 @@ -152,11 +152,11 @@ local.get $4 i32.le_u if + local.get $2 local.get $1 i32.load i32.const -1028477379 i32.mul - local.get $2 i32.add i32.const 17 i32.rotl @@ -179,11 +179,11 @@ local.get $1 i32.gt_u if + local.get $2 local.get $1 i32.load8_u i32.const 374761393 i32.mul - local.get $2 i32.add i32.const 11 i32.rotl diff --git a/tests/compiler/std/map.release.wat b/tests/compiler/std/map.release.wat index c8ebcfb15a..3491f4a96e 100644 --- a/tests/compiler/std/map.release.wat +++ b/tests/compiler/std/map.release.wat @@ -109,8 +109,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -170,11 +170,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -188,10 +188,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1760 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -214,23 +214,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -333,37 +333,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -514,12 +514,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -580,14 +580,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -603,14 +603,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -622,10 +622,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -662,11 +662,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -675,10 +675,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -690,11 +690,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -733,10 +733,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -793,10 +793,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -857,25 +857,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -932,23 +932,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1104,13 +1104,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1150,10 +1150,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1162,6 +1162,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1170,7 +1171,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1184,12 +1184,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1202,6 +1202,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1210,7 +1211,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1331,6 +1331,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1339,7 +1340,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1392,12 +1392,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1392 @@ -1435,16 +1435,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1488,19 +1488,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1605,6 +1605,8 @@ i32.load offset=4 i32.store offset=4 local.get $2 + local.get $6 + local.get $1 local.get $8 i32.extend8_s i32.const -1028477379 @@ -1634,11 +1636,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $6 i32.add local.tee $8 i32.load @@ -1778,19 +1778,19 @@ (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) + local.get $1 local.get $0 i32.load offset=8 local.tee $5 local.get $2 i32.shr_u - local.get $1 - i32.lt_u + i32.gt_u if + local.get $1 i32.const 1073741820 local.get $2 i32.shr_u - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1456 i32.const 1728 @@ -1890,10 +1890,10 @@ ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -1918,19 +1918,19 @@ local.get $3 i32.store offset=12 end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add local.get $2 i32.store8 ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -1965,10 +1965,10 @@ i32.store ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1728 @@ -2066,6 +2066,8 @@ i32.load offset=4 i32.store offset=4 local.get $2 + local.get $6 + local.get $1 local.get $8 i32.const -1028477379 i32.mul @@ -2094,11 +2096,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $6 i32.add local.tee $8 i32.load @@ -2937,10 +2937,10 @@ local.get $11 i32.gt_s if + local.get $3 local.get $11 i32.const 12 i32.mul - local.get $3 i32.add local.tee $5 i32.load offset=8 @@ -3051,15 +3051,15 @@ i32.const 0 local.set $11 loop $for-loop|4 + local.get $11 local.get $12 i32.load offset=12 - local.get $11 - i32.gt_s + i32.lt_s if + local.get $11 local.get $12 i32.load offset=12 - local.get $11 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1728 @@ -3068,9 +3068,9 @@ call $~lib/builtins/abort unreachable end - local.get $11 local.get $12 i32.load offset=4 + local.get $11 i32.add i32.load8_s local.set $14 @@ -3419,6 +3419,8 @@ i32.load8_s offset=1 i32.store8 offset=1 local.get $0 + local.get $9 + local.get $15 local.get $16 i32.extend8_s i32.const -1028477379 @@ -3448,11 +3450,9 @@ i32.shr_u local.get $16 i32.xor - local.get $15 i32.and i32.const 2 i32.shl - local.get $9 i32.add local.tee $16 i32.load @@ -3517,10 +3517,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.tee $0 local.get $14 @@ -3537,9 +3537,9 @@ local.get $0 local.get $13 i32.load + local.get $5 local.get $13 i32.load offset=4 - local.get $5 i32.and i32.const 2 i32.shl @@ -4174,6 +4174,8 @@ i32.load offset=4 i32.store offset=4 local.get $2 + local.get $6 + local.get $1 local.get $8 i32.const -1028477379 i32.mul @@ -4202,11 +4204,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $6 i32.add local.tee $8 i32.load @@ -5103,10 +5103,10 @@ local.get $11 i32.gt_s if + local.get $3 local.get $11 i32.const 12 i32.mul - local.get $3 i32.add local.tee $5 i32.load offset=8 @@ -5217,15 +5217,15 @@ i32.const 0 local.set $11 loop $for-loop|4 + local.get $11 local.get $12 i32.load offset=12 - local.get $11 - i32.gt_s + i32.lt_s if + local.get $11 local.get $12 i32.load offset=12 - local.get $11 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1728 @@ -5234,9 +5234,9 @@ call $~lib/builtins/abort unreachable end - local.get $11 local.get $12 i32.load offset=4 + local.get $11 i32.add i32.load8_u local.set $14 @@ -5294,9 +5294,9 @@ if (result i32) i32.const 0 else - local.get $14 local.get $0 i32.load8_u + local.get $14 i32.eq end br_if $__inlined_func$~lib/map/Map#find10 @@ -5465,9 +5465,9 @@ if (result i32) i32.const 0 else - local.get $14 local.get $0 i32.load8_u + local.get $14 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -5580,6 +5580,8 @@ i32.load8_u offset=1 i32.store8 offset=1 local.get $0 + local.get $9 + local.get $15 local.get $16 i32.const -1028477379 i32.mul @@ -5608,11 +5610,9 @@ i32.shr_u local.get $16 i32.xor - local.get $15 i32.and i32.const 2 i32.shl - local.get $9 i32.add local.tee $16 i32.load @@ -5677,10 +5677,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.tee $0 local.get $14 @@ -5697,9 +5697,9 @@ local.get $0 local.get $13 i32.load + local.get $5 local.get $13 i32.load offset=4 - local.get $5 i32.and i32.const 2 i32.shl @@ -6342,6 +6342,8 @@ i32.load offset=4 i32.store offset=4 local.get $2 + local.get $6 + local.get $1 local.get $8 i32.extend16_s i32.const -1028477379 @@ -6371,11 +6373,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $6 i32.add local.tee $8 i32.load @@ -6514,10 +6514,10 @@ ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -7302,10 +7302,10 @@ local.get $11 i32.gt_s if + local.get $3 local.get $11 i32.const 12 i32.mul - local.get $3 i32.add local.tee $5 i32.load offset=8 @@ -7416,15 +7416,15 @@ i32.const 0 local.set $11 loop $for-loop|4 + local.get $11 local.get $12 i32.load offset=12 - local.get $11 - i32.gt_s + i32.lt_s if + local.get $11 local.get $12 i32.load offset=12 - local.get $11 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1728 @@ -7786,6 +7786,8 @@ i32.load16_s offset=2 i32.store16 offset=2 local.get $0 + local.get $9 + local.get $15 local.get $16 i32.extend16_s i32.const -1028477379 @@ -7815,11 +7817,9 @@ i32.shr_u local.get $16 i32.xor - local.get $15 i32.and i32.const 2 i32.shl - local.get $9 i32.add local.tee $16 i32.load @@ -7884,10 +7884,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.tee $0 local.get $14 @@ -7904,9 +7904,9 @@ local.get $0 local.get $13 i32.load + local.get $5 local.get $13 i32.load offset=4 - local.get $5 i32.and i32.const 2 i32.shl @@ -8541,6 +8541,8 @@ i32.load offset=4 i32.store offset=4 local.get $2 + local.get $6 + local.get $1 local.get $8 i32.const -1028477379 i32.mul @@ -8569,11 +8571,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $6 i32.add local.tee $8 i32.load @@ -9472,10 +9472,10 @@ local.get $11 i32.gt_s if + local.get $3 local.get $11 i32.const 12 i32.mul - local.get $3 i32.add local.tee $5 i32.load offset=8 @@ -9586,15 +9586,15 @@ i32.const 0 local.set $11 loop $for-loop|4 + local.get $11 local.get $12 i32.load offset=12 - local.get $11 - i32.gt_s + i32.lt_s if + local.get $11 local.get $12 i32.load offset=12 - local.get $11 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1728 @@ -9665,9 +9665,9 @@ if (result i32) i32.const 0 else - local.get $14 local.get $0 i32.load16_u + local.get $14 i32.eq end br_if $__inlined_func$~lib/map/Map#find10 @@ -9836,9 +9836,9 @@ if (result i32) i32.const 0 else - local.get $14 local.get $0 i32.load16_u + local.get $14 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -9951,6 +9951,8 @@ i32.load16_u offset=2 i32.store16 offset=2 local.get $0 + local.get $9 + local.get $15 local.get $16 i32.const -1028477379 i32.mul @@ -9979,11 +9981,9 @@ i32.shr_u local.get $16 i32.xor - local.get $15 i32.and i32.const 2 i32.shl - local.get $9 i32.add local.tee $16 i32.load @@ -10048,10 +10048,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.tee $0 local.get $14 @@ -10068,9 +10068,9 @@ local.get $0 local.get $13 i32.load + local.get $5 local.get $13 i32.load offset=4 - local.get $5 i32.and i32.const 2 i32.shl @@ -10684,9 +10684,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i32.load + local.get $1 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -10767,9 +10767,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $1 i32.load + local.get $2 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -10920,9 +10920,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -11001,9 +11001,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/map/Map#find1 @@ -11118,9 +11118,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/map/Map#find4 @@ -11215,9 +11215,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/map/Map#find7 @@ -11305,10 +11305,10 @@ local.get $5 i32.lt_s if + local.get $4 local.get $3 i32.const 12 i32.mul - local.get $4 i32.add local.tee $7 i32.load offset=8 @@ -11364,10 +11364,10 @@ i32.const 0 local.set $0 loop $for-loop|2 + local.get $0 local.get $6 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $6 local.get $0 @@ -11427,9 +11427,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $3 i32.load + local.get $1 i32.eq end br_if $__inlined_func$~lib/map/Map#find10 @@ -11506,9 +11506,9 @@ if (result i32) i32.const 0 else - local.get $5 local.get $3 i32.load + local.get $5 i32.eq end br_if $__inlined_func$~lib/map/Map#find13 @@ -11631,9 +11631,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/map/Map#find16 @@ -11725,9 +11725,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/map/Map#find19 @@ -11826,9 +11826,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/map/Map#find22 @@ -11907,9 +11907,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/map/Map#find25 @@ -11986,9 +11986,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/map/Map#find28 @@ -12136,6 +12136,8 @@ i32.load offset=4 i32.store offset=4 local.get $2 + local.get $6 + local.get $1 local.get $8 i32.const -1028477379 i32.mul @@ -12164,11 +12166,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $6 i32.add local.tee $8 i32.load @@ -12273,9 +12273,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i32.load + local.get $1 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -12356,9 +12356,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $1 i32.load + local.get $2 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -12570,9 +12570,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i32.load + local.get $1 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -12651,9 +12651,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i32.load + local.get $1 i32.eq end br_if $__inlined_func$~lib/map/Map#find1 @@ -12768,9 +12768,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i32.load + local.get $1 i32.eq end br_if $__inlined_func$~lib/map/Map#find4 @@ -12865,9 +12865,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i32.load + local.get $1 i32.eq end br_if $__inlined_func$~lib/map/Map#find7 @@ -13031,10 +13031,10 @@ local.get $11 i32.gt_s if + local.get $3 local.get $11 i32.const 12 i32.mul - local.get $3 i32.add local.tee $5 i32.load offset=8 @@ -13145,15 +13145,15 @@ i32.const 0 local.set $11 loop $for-loop|2 + local.get $11 local.get $12 i32.load offset=12 - local.get $11 - i32.gt_s + i32.lt_s if + local.get $11 local.get $12 i32.load offset=12 - local.get $11 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1728 @@ -13224,9 +13224,9 @@ if (result i32) i32.const 0 else - local.get $14 local.get $0 i32.load + local.get $14 i32.eq end br_if $__inlined_func$~lib/map/Map#find10 @@ -13303,9 +13303,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i32.load + local.get $1 i32.eq end br_if $__inlined_func$~lib/map/Map#find13 @@ -13391,9 +13391,9 @@ if (result i32) i32.const 0 else - local.get $14 local.get $0 i32.load + local.get $14 i32.eq end br_if $__inlined_func$~lib/map/Map#find15 @@ -13506,6 +13506,8 @@ i32.load offset=4 i32.store offset=4 local.get $0 + local.get $9 + local.get $15 local.get $16 i32.const -1028477379 i32.mul @@ -13534,11 +13536,9 @@ i32.shr_u local.get $16 i32.xor - local.get $15 i32.and i32.const 2 i32.shl - local.get $9 i32.add local.tee $16 i32.load @@ -13603,10 +13603,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $0 local.get $1 i32.const 12 i32.mul - local.get $0 i32.add local.tee $0 local.get $14 @@ -13623,9 +13623,9 @@ local.get $0 local.get $13 i32.load + local.get $5 local.get $13 i32.load offset=4 - local.get $5 i32.and i32.const 2 i32.shl @@ -13736,9 +13736,9 @@ if (result i32) i32.const 0 else - local.get $11 local.get $1 i32.load + local.get $11 i32.eq end br_if $__inlined_func$~lib/map/Map#find18 @@ -13830,9 +13830,9 @@ if (result i32) i32.const 0 else - local.get $11 local.get $1 i32.load + local.get $11 i32.eq end br_if $__inlined_func$~lib/map/Map#find21 @@ -13931,9 +13931,9 @@ if (result i32) i32.const 0 else - local.get $11 local.get $1 i32.load + local.get $11 i32.eq end br_if $__inlined_func$~lib/map/Map#find24 @@ -14012,9 +14012,9 @@ if (result i32) i32.const 0 else - local.get $11 local.get $1 i32.load + local.get $11 i32.eq end br_if $__inlined_func$~lib/map/Map#find27 @@ -14091,9 +14091,9 @@ if (result i32) i32.const 0 else - local.get $11 local.get $1 i32.load + local.get $11 i32.eq end br_if $__inlined_func$~lib/map/Map#find30 @@ -14224,9 +14224,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -14326,6 +14326,8 @@ i32.load offset=8 i32.store offset=8 local.get $2 + local.get $7 + local.get $1 local.get $6 i32.wrap_i64 i32.const -1028477379 @@ -14366,11 +14368,9 @@ i32.shr_u local.get $9 i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $7 i32.add local.tee $9 i32.load @@ -14487,9 +14487,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -14518,10 +14518,10 @@ ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -14620,9 +14620,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $2 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -15080,10 +15080,10 @@ local.get $6 i32.lt_s if + local.get $5 local.get $1 i32.const 4 i32.shl - local.get $5 i32.add local.tee $4 i32.load offset=12 @@ -15192,15 +15192,15 @@ local.tee $6 i32.store offset=16 loop $for-loop|2 + local.get $7 local.get $10 i32.load offset=12 - local.get $7 - i32.gt_s + i32.lt_s if + local.get $7 local.get $10 i32.load offset=12 - local.get $7 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1728 @@ -15322,9 +15322,9 @@ if (result i32) i32.const 0 else - local.get $12 local.get $0 i64.load + local.get $12 i64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -15437,6 +15437,8 @@ i64.load offset=8 i64.store offset=8 local.get $0 + local.get $14 + local.get $13 local.get $2 i32.wrap_i64 i32.const -1028477379 @@ -15477,11 +15479,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $13 i32.and i32.const 2 i32.shl - local.get $14 i32.add local.tee $17 i32.load @@ -15546,10 +15546,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $0 local.get $1 i32.const 24 i32.mul - local.get $0 i32.add local.tee $0 local.get $12 @@ -15566,9 +15566,9 @@ local.get $0 local.get $11 i32.load + local.get $3 local.get $11 i32.load offset=4 - local.get $3 i32.and i32.const 2 i32.shl @@ -15849,9 +15849,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -15951,6 +15951,8 @@ i32.load offset=8 i32.store offset=8 local.get $2 + local.get $7 + local.get $1 local.get $6 i32.wrap_i64 i32.const -1028477379 @@ -15991,11 +15993,9 @@ i32.shr_u local.get $9 i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $7 i32.add local.tee $9 i32.load @@ -16112,9 +16112,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -16206,9 +16206,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $2 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -16629,10 +16629,10 @@ local.get $6 i32.lt_s if + local.get $5 local.get $1 i32.const 4 i32.shl - local.get $5 i32.add local.tee $4 i32.load offset=12 @@ -16741,15 +16741,15 @@ local.tee $6 i32.store offset=16 loop $for-loop|2 + local.get $7 local.get $10 i32.load offset=12 - local.get $7 - i32.gt_s + i32.lt_s if + local.get $7 local.get $10 i32.load offset=12 - local.get $7 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1728 @@ -16871,9 +16871,9 @@ if (result i32) i32.const 0 else - local.get $12 local.get $0 i64.load + local.get $12 i64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -16986,6 +16986,8 @@ i64.load offset=8 i64.store offset=8 local.get $0 + local.get $14 + local.get $13 local.get $2 i32.wrap_i64 i32.const -1028477379 @@ -17026,11 +17028,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $13 i32.and i32.const 2 i32.shl - local.get $14 i32.add local.tee $17 i32.load @@ -17095,10 +17095,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $0 local.get $1 i32.const 24 i32.mul - local.get $0 i32.add local.tee $0 local.get $12 @@ -17115,9 +17115,9 @@ local.get $0 local.get $11 i32.load + local.get $3 local.get $11 i32.load offset=4 - local.get $3 i32.and i32.const 2 i32.shl @@ -17416,6 +17416,8 @@ i32.load offset=4 i32.store offset=4 local.get $2 + local.get $7 + local.get $1 local.get $4 i32.reinterpret_f32 i32.const -1028477379 @@ -17445,11 +17447,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $7 i32.add local.tee $9 i32.load @@ -17555,9 +17555,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 f32.load + local.get $1 f32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -17638,9 +17638,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $2 f32.load + local.get $1 f32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -17854,9 +17854,9 @@ if (result i32) i32.const 0 else - local.get $3 local.get $0 f32.load + local.get $3 f32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -17937,9 +17937,9 @@ if (result i32) i32.const 0 else - local.get $3 local.get $0 f32.load + local.get $3 f32.eq end br_if $__inlined_func$~lib/map/Map#find1 @@ -18056,9 +18056,9 @@ if (result i32) i32.const 0 else - local.get $3 local.get $0 f32.load + local.get $3 f32.eq end br_if $__inlined_func$~lib/map/Map#find4 @@ -18156,9 +18156,9 @@ if (result i32) i32.const 0 else - local.get $3 local.get $0 f32.load + local.get $3 f32.eq end br_if $__inlined_func$~lib/map/Map#find7 @@ -18321,10 +18321,10 @@ local.get $6 i32.lt_s if + local.get $5 local.get $2 i32.const 12 i32.mul - local.get $5 i32.add local.tee $0 i32.load offset=8 @@ -18340,10 +18340,10 @@ i32.const 1 i32.add local.set $1 + local.get $0 local.get $11 i32.load offset=12 - local.get $0 - i32.le_u + i32.ge_u if local.get $0 i32.const 0 @@ -18470,15 +18470,15 @@ i32.const 0 local.set $1 loop $for-loop|2 + local.get $1 local.get $11 i32.load offset=12 - local.get $1 - i32.gt_s + i32.lt_s if + local.get $1 local.get $11 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1728 @@ -18550,9 +18550,9 @@ if (result i32) i32.const 0 else - local.get $3 local.get $0 f32.load + local.get $3 f32.eq end br_if $__inlined_func$~lib/map/Map#find10 @@ -18631,9 +18631,9 @@ if (result i32) i32.const 0 else - local.get $13 local.get $0 f32.load + local.get $13 f32.eq end br_if $__inlined_func$~lib/map/Map#find13 @@ -18720,9 +18720,9 @@ if (result i32) i32.const 0 else - local.get $3 local.get $2 f32.load + local.get $3 f32.eq end br_if $__inlined_func$~lib/map/Map#find15 @@ -18835,6 +18835,8 @@ f32.load offset=4 f32.store offset=4 local.get $0 + local.get $15 + local.get $14 local.get $13 i32.reinterpret_f32 i32.const -1028477379 @@ -18864,11 +18866,9 @@ i32.shr_u local.get $17 i32.xor - local.get $14 i32.and i32.const 2 i32.shl - local.get $15 i32.add local.tee $17 i32.load @@ -18933,10 +18933,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $0 local.get $2 i32.const 12 i32.mul - local.get $0 i32.add local.tee $0 local.get $3 @@ -18953,9 +18953,9 @@ local.get $0 local.get $12 i32.load + local.get $5 local.get $12 i32.load offset=4 - local.get $5 i32.and i32.const 2 i32.shl @@ -19067,9 +19067,9 @@ if (result i32) i32.const 0 else - local.get $3 local.get $0 f32.load + local.get $3 f32.eq end br_if $__inlined_func$~lib/map/Map#find18 @@ -19163,9 +19163,9 @@ if (result i32) i32.const 0 else - local.get $3 local.get $0 f32.load + local.get $3 f32.eq end br_if $__inlined_func$~lib/map/Map#find21 @@ -19265,9 +19265,9 @@ if (result i32) i32.const 0 else - local.get $3 local.get $0 f32.load + local.get $3 f32.eq end br_if $__inlined_func$~lib/map/Map#find24 @@ -19348,9 +19348,9 @@ if (result i32) i32.const 0 else - local.get $3 local.get $0 f32.load + local.get $3 f32.eq end br_if $__inlined_func$~lib/map/Map#find27 @@ -19428,9 +19428,9 @@ if (result i32) i32.const 0 else - local.get $3 local.get $0 f32.load + local.get $3 f32.eq end br_if $__inlined_func$~lib/map/Map#find30 @@ -19564,9 +19564,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 f64.load + local.get $1 f64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -19667,6 +19667,8 @@ i32.load offset=8 i32.store offset=8 local.get $2 + local.get $8 + local.get $1 local.get $5 i64.reinterpret_f64 local.tee $4 @@ -19709,11 +19711,9 @@ i32.shr_u local.get $10 i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $8 i32.add local.tee $10 i32.load @@ -19833,9 +19833,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 f64.load + local.get $1 f64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -19930,9 +19930,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $2 f64.load + local.get $1 f64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -20354,10 +20354,10 @@ local.get $11 i32.gt_s if + local.get $7 local.get $11 i32.const 4 i32.shl - local.get $7 i32.add local.tee $0 i32.load offset=12 @@ -20373,10 +20373,10 @@ i32.const 1 i32.add local.set $3 + local.get $0 local.get $2 i32.load offset=12 - local.get $0 - i32.le_u + i32.ge_u if local.get $0 i32.const 0 @@ -20503,15 +20503,15 @@ i32.const 0 local.set $3 loop $for-loop|2 + local.get $3 local.get $2 i32.load offset=12 - local.get $3 - i32.gt_s + i32.lt_s if + local.get $3 local.get $2 i32.load offset=12 - local.get $3 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1728 @@ -20635,9 +20635,9 @@ if (result i32) i32.const 0 else - local.get $13 local.get $11 f64.load + local.get $13 f64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -20750,6 +20750,8 @@ f64.load offset=8 f64.store offset=8 local.get $0 + local.get $11 + local.get $12 local.get $6 i64.reinterpret_f64 local.tee $5 @@ -20792,11 +20794,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $12 i32.and i32.const 2 i32.shl - local.get $11 i32.add local.tee $4 i32.load @@ -20861,10 +20861,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $1 local.get $0 i32.const 24 i32.mul - local.get $1 i32.add local.tee $1 local.get $13 @@ -20881,9 +20881,9 @@ local.get $1 local.get $14 i32.load + local.get $7 local.get $14 i32.load offset=4 - local.get $7 i32.and i32.const 2 i32.shl @@ -21411,10 +21411,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $3 local.get $5 i32.const 12 i32.mul - local.get $3 i32.add local.tee $3 local.get $1 @@ -21431,9 +21431,9 @@ local.get $3 local.get $0 i32.load + local.get $4 local.get $0 i32.load offset=4 - local.get $4 i32.and i32.const 2 i32.shl @@ -21582,10 +21582,10 @@ local.get $5 i32.lt_s if + local.get $2 local.get $1 i32.const 12 i32.mul - local.get $2 i32.add local.tee $3 i32.load offset=8 @@ -21765,9 +21765,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $3 i32.load + local.get $1 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -21828,10 +21828,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $3 local.get $5 i32.const 12 i32.mul - local.get $3 i32.add local.tee $3 local.get $1 @@ -21848,9 +21848,9 @@ local.get $3 local.get $0 i32.load + local.get $4 local.get $0 i32.load offset=4 - local.get $4 i32.and i32.const 2 i32.shl @@ -22007,10 +22007,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $3 local.get $5 i32.const 12 i32.mul - local.get $3 i32.add local.tee $3 local.get $1 @@ -22027,9 +22027,9 @@ local.get $3 local.get $0 i32.load + local.get $4 local.get $0 i32.load offset=4 - local.get $4 i32.and i32.const 2 i32.shl @@ -22185,10 +22185,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $3 local.get $5 i32.const 12 i32.mul - local.get $3 i32.add local.tee $3 local.get $1 @@ -22205,9 +22205,9 @@ local.get $3 local.get $0 i32.load + local.get $4 local.get $0 i32.load offset=4 - local.get $4 i32.and i32.const 2 i32.shl @@ -22364,10 +22364,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $3 local.get $5 i32.const 12 i32.mul - local.get $3 i32.add local.tee $3 local.get $1 @@ -22384,9 +22384,9 @@ local.get $3 local.get $0 i32.load + local.get $4 local.get $0 i32.load offset=4 - local.get $4 i32.and i32.const 2 i32.shl @@ -22476,9 +22476,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $3 i32.load + local.get $1 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -22539,10 +22539,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $3 local.get $5 i32.const 12 i32.mul - local.get $3 i32.add local.tee $3 local.get $1 @@ -22559,9 +22559,9 @@ local.get $3 local.get $0 i32.load + local.get $4 local.get $0 i32.load offset=4 - local.get $4 i32.and i32.const 2 i32.shl @@ -22663,9 +22663,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $3 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -22726,10 +22726,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $3 local.get $5 i32.const 4 i32.shl - local.get $3 i32.add local.tee $3 local.get $1 @@ -22746,9 +22746,9 @@ local.get $3 local.get $0 i32.load + local.get $4 local.get $0 i32.load offset=4 - local.get $4 i32.and i32.const 2 i32.shl @@ -22807,10 +22807,10 @@ local.get $5 i32.lt_s if + local.get $2 local.get $1 i32.const 4 i32.shl - local.get $2 i32.add local.tee $3 i32.load offset=12 @@ -22934,9 +22934,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $3 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -22997,10 +22997,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $3 local.get $5 i32.const 4 i32.shl - local.get $3 i32.add local.tee $3 local.get $1 @@ -23017,9 +23017,9 @@ local.get $3 local.get $0 i32.load + local.get $4 local.get $0 i32.load offset=4 - local.get $4 i32.and i32.const 2 i32.shl @@ -23110,9 +23110,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $3 f32.load + local.get $1 f32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -23173,10 +23173,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $3 local.get $5 i32.const 12 i32.mul - local.get $3 i32.add local.tee $3 local.get $1 @@ -23193,9 +23193,9 @@ local.get $3 local.get $0 i32.load + local.get $4 local.get $0 i32.load offset=4 - local.get $4 i32.and i32.const 2 i32.shl @@ -23300,9 +23300,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $3 f64.load + local.get $1 f64.eq end br_if $__inlined_func$~lib/map/Map#find @@ -23363,10 +23363,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $3 local.get $6 i32.const 4 i32.shl - local.get $3 i32.add local.tee $3 local.get $1 @@ -23383,9 +23383,9 @@ local.get $3 local.get $0 i32.load + local.get $5 local.get $0 i32.load offset=4 - local.get $5 i32.and i32.const 2 i32.shl diff --git a/tests/compiler/std/math.release.wat b/tests/compiler/std/math.release.wat index 5ce9ef5e4d..b6111df58d 100644 --- a/tests/compiler/std/math.release.wat +++ b/tests/compiler/std/math.release.wat @@ -2905,11 +2905,11 @@ end end block $folding-inner0 - local.get $6 local.get $8 i32.const 2147483647 i32.and local.tee $8 + local.get $6 i32.or i32.eqz br_if $folding-inner0 @@ -2954,18 +2954,18 @@ local.get $9 i32.const 2146435072 i32.eq - local.get $9 local.get $8 i32.const 67108864 i32.add - i32.gt_u + local.get $9 + i32.lt_u i32.or br_if $folding-inner0 - local.get $8 local.get $9 i32.const 67108864 i32.add - i32.gt_u + local.get $8 + i32.lt_u i32.const 0 local.get $4 i32.const 2 @@ -3136,18 +3136,18 @@ local.get $4 i32.const 2139095040 i32.eq - local.get $4 local.get $3 i32.const 218103808 i32.add - i32.gt_u + local.get $4 + i32.lt_u i32.or br_if $folding-inner0 - local.get $3 local.get $4 i32.const 218103808 i32.add - i32.gt_u + local.get $3 + i32.lt_u i32.const 0 local.get $2 i32.const 2 @@ -3521,22 +3521,22 @@ i64.shr_u local.tee $8 i64.mul + local.get $7 local.get $2 i64.const 4294967295 i64.and local.tee $2 - local.get $7 i64.mul local.tee $7 i64.const 32 i64.shr_u i64.add local.set $9 - local.get $2 local.get $6 i64.const 32 i64.shr_u local.tee $10 + local.get $2 i64.mul local.get $9 i64.const 4294967295 @@ -3555,10 +3555,10 @@ i64.shr_u i64.add global.set $~lib/math/res128_hi + local.get $10 local.get $1 i64.const 32 i64.shr_u - local.get $10 i64.mul local.tee $1 local.get $7 @@ -3600,10 +3600,10 @@ local.get $1 local.get $8 i64.shl - local.get $7 local.get $2 i64.const 2 i64.shl + local.get $7 i64.xor local.tee $9 i64.const 64 @@ -3678,7 +3678,6 @@ i64.add f64.convert_i64_u global.set $~lib/math/rempio2_y0 - local.get $2 local.get $9 i64.const 53 i64.shl @@ -3686,6 +3685,7 @@ i64.const 11 i64.shr_u i64.or + local.get $2 i64.add f64.convert_i64_u f64.const 5.421010862427522e-20 @@ -6282,12 +6282,12 @@ f64.mul f64.add local.set $7 + local.get $5 local.get $3 i32.const 20 i32.shr_u i32.const 1023 i32.sub - local.get $5 i32.add f64.convert_i32_s local.tee $8 @@ -6421,12 +6421,12 @@ local.get $4 f32.mul local.set $8 + local.get $5 local.get $3 i32.const 23 i32.shr_u i32.const 127 i32.sub - local.get $5 i32.add f32.convert_i32_s local.tee $6 @@ -6952,12 +6952,12 @@ f64.div br $__inlined_func$~lib/math/NativeMath.mod end - local.get $4 local.get $6 i64.const 1 i64.shl local.tee $3 - i64.ge_u + local.get $4 + i64.le_u if local.get $0 local.get $3 @@ -7169,12 +7169,12 @@ f32.div return end - local.get $3 local.get $4 i32.const 1 i32.shl local.tee $2 - i32.ge_u + local.get $3 + i32.le_u if local.get $0 local.get $2 @@ -7187,7 +7187,6 @@ local.get $4 i32.const -2147483648 i32.and - local.set $5 local.get $8 if (result i32) local.get $4 @@ -7309,7 +7308,6 @@ i32.const 0 i32.gt_s select - local.get $5 i32.or f32.reinterpret_i32 ) @@ -7510,6 +7508,7 @@ br_if $~lib/util/math/checkint|inlined.0 drop i32.const 0 + local.get $12 i64.const 1 i64.const 1075 local.get $2 @@ -7518,7 +7517,6 @@ local.tee $2 i64.const 1 i64.sub - local.get $12 i64.and i64.const 0 i64.ne @@ -7574,6 +7572,7 @@ br_if $~lib/util/math/checkint|inlined.1 drop i32.const 0 + local.get $12 i64.const 1 i64.const 1075 local.get $13 @@ -7582,7 +7581,6 @@ local.tee $13 i64.const 1 i64.sub - local.get $12 i64.and i64.const 0 i64.ne @@ -7887,9 +7885,9 @@ i32.add local.tee $11 i64.load offset=8 + local.get $2 local.get $5 i64.extend_i32_u - local.get $2 i64.add i64.const 45 i64.shl @@ -8230,6 +8228,7 @@ br_if $~lib/util/math/checkintf|inlined.0 drop i32.const 0 + local.get $7 i32.const 1 i32.const 150 local.get $2 @@ -8238,7 +8237,6 @@ local.tee $2 i32.const 1 i32.sub - local.get $7 i32.and br_if $~lib/util/math/checkintf|inlined.0 drop @@ -8288,6 +8286,7 @@ br_if $~lib/util/math/checkintf|inlined.1 drop i32.const 0 + local.get $7 i32.const 1 i32.const 150 local.get $4 @@ -8296,7 +8295,6 @@ local.tee $4 i32.const 1 i32.sub - local.get $7 i32.and br_if $~lib/util/math/checkintf|inlined.1 drop @@ -8474,9 +8472,9 @@ i32.const 7712 i32.add i64.load + local.get $5 local.get $4 i64.extend_i32_u - local.get $5 i64.add i64.const 47 i64.shl @@ -8545,18 +8543,18 @@ i32.const 1 i32.or local.get $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.mul local.tee $1 i32.const 61 i32.or local.get $1 + local.get $1 i32.const 7 i32.shr_u - local.get $1 i32.xor i32.mul local.get $1 @@ -8576,18 +8574,18 @@ i32.const 1 i32.or local.get $1 + local.get $1 i32.const 15 i32.shr_u - local.get $1 i32.xor i32.mul local.tee $1 i32.const 61 i32.or local.get $1 + local.get $1 i32.const 7 i32.shr_u - local.get $1 i32.xor i32.mul local.get $1 @@ -8611,11 +8609,11 @@ local.get $2 f64.const 1 f64.sub - local.get $0 local.get $2 f64.const 0.5 f64.sub - f64.ge + local.get $0 + f64.le select local.get $1 f64.const 0 @@ -8629,11 +8627,11 @@ local.get $2 f32.const 1 f32.sub - local.get $0 local.get $2 f32.const 0.5 f32.sub - f32.ge + local.get $0 + f32.le select local.get $1 f32.const 0 @@ -8786,10 +8784,10 @@ local.get $4 i64.lt_s if - local.get $4 local.get $3 i64.const 1 i64.add + local.get $4 i64.eq br_if $do-break|0 local.get $0 @@ -8905,10 +8903,10 @@ local.get $8 f64.lt i32.or - local.get $4 local.get $3 i64.const 1 i64.add + local.get $4 i64.eq i32.and end @@ -9023,10 +9021,10 @@ local.get $4 i32.lt_s if - local.get $4 local.get $3 i32.const 1 i32.add + local.get $4 i32.eq br_if $do-break|0 local.get $0 @@ -9141,10 +9139,10 @@ local.get $8 f32.lt i32.or - local.get $4 local.get $3 i32.const 1 i32.add + local.get $4 i32.eq i32.and end @@ -44044,17 +44042,17 @@ global.get $~lib/math/random_state1_64 local.tee $2 global.set $~lib/math/random_state0_64 + local.get $2 + local.get $6 local.get $6 i64.const 23 i64.shl - local.get $6 i64.xor local.tee $6 i64.const 17 i64.shr_u local.get $6 i64.xor - local.get $2 i64.xor local.get $2 i64.const 26 diff --git a/tests/compiler/std/mod.release.wat b/tests/compiler/std/mod.release.wat index aa4644a291..02aa0af7af 100644 --- a/tests/compiler/std/mod.release.wat +++ b/tests/compiler/std/mod.release.wat @@ -71,12 +71,12 @@ f64.div br $__inlined_func$~lib/math/NativeMath.mod end - local.get $5 local.get $7 i64.const 1 i64.shl local.tee $3 - i64.ge_u + local.get $5 + i64.le_u if local.get $0 local.get $3 @@ -331,12 +331,12 @@ f32.div br $__inlined_func$~lib/math/NativeMathf.mod end - local.get $4 local.get $6 i32.const 1 i32.shl local.tee $3 - i32.ge_u + local.get $4 + i32.le_u if local.get $0 local.get $3 diff --git a/tests/compiler/std/new.release.wat b/tests/compiler/std/new.release.wat index 7864628fe1..3560f7dfd3 100644 --- a/tests/compiler/std/new.release.wat +++ b/tests/compiler/std/new.release.wat @@ -181,37 +181,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -362,12 +362,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -428,14 +428,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -451,14 +451,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -470,10 +470,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -510,11 +510,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -523,10 +523,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -538,11 +538,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -581,10 +581,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -641,10 +641,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -705,25 +705,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -780,23 +780,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -949,11 +949,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -963,12 +963,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -981,6 +981,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -989,7 +990,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1246,19 +1246,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1350,8 +1350,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1411,11 +1411,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1429,10 +1429,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1440 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1469,11 +1469,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/std/operator-overloading.release.wat b/tests/compiler/std/operator-overloading.release.wat index 5cab11726a..1e748d4c25 100644 --- a/tests/compiler/std/operator-overloading.release.wat +++ b/tests/compiler/std/operator-overloading.release.wat @@ -240,37 +240,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -421,12 +421,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -487,14 +487,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -510,14 +510,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -529,10 +529,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -569,11 +569,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -582,10 +582,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -597,11 +597,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -640,10 +640,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -700,10 +700,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -764,25 +764,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -839,23 +839,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1008,11 +1008,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1022,12 +1022,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1040,6 +1040,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1048,7 +1049,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1253,19 +1253,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -3448,8 +3448,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -3509,11 +3509,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -3527,10 +3527,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1520 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -3567,11 +3567,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/std/pointer.release.wat b/tests/compiler/std/pointer.release.wat index 5f3f73f38b..06f403ae40 100644 --- a/tests/compiler/std/pointer.release.wat +++ b/tests/compiler/std/pointer.release.wat @@ -97,8 +97,8 @@ global.get $std/pointer/one local.tee $0 global.set $std/pointer/nextOne - global.get $std/pointer/nextOne local.get $0 + global.get $std/pointer/nextOne i32.ne if i32.const 0 diff --git a/tests/compiler/std/set.release.wat b/tests/compiler/std/set.release.wat index 0bbd81280f..37a6269eda 100644 --- a/tests/compiler/std/set.release.wat +++ b/tests/compiler/std/set.release.wat @@ -102,8 +102,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -163,11 +163,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -181,10 +181,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1648 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -207,23 +207,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -326,37 +326,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -507,12 +507,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -573,14 +573,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -596,14 +596,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -615,10 +615,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -655,11 +655,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -668,10 +668,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -683,11 +683,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -726,10 +726,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -786,10 +786,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -850,25 +850,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -925,23 +925,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1097,13 +1097,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1143,10 +1143,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1155,6 +1155,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1163,7 +1164,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1177,12 +1177,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1195,6 +1195,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1203,7 +1204,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1324,6 +1324,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1332,7 +1333,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1385,12 +1385,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1392 @@ -1428,16 +1428,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1481,19 +1481,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1594,6 +1594,8 @@ local.tee $8 i32.store8 local.get $2 + local.get $5 + local.get $1 local.get $8 i32.extend8_s i32.const -1028477379 @@ -1623,11 +1625,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $5 i32.add local.tee $8 i32.load @@ -1789,7 +1789,6 @@ end local.get $0 i32.load offset=8 - local.set $1 local.get $0 local.get $0 i32.load offset=16 @@ -1800,7 +1799,6 @@ local.get $4 i32.const 3 i32.shl - local.get $1 i32.add local.tee $1 local.get $2 @@ -1814,9 +1812,9 @@ local.get $1 local.get $0 i32.load + local.get $3 local.get $0 i32.load offset=4 - local.get $3 i32.and i32.const 2 i32.shl @@ -1832,19 +1830,19 @@ (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) + local.get $1 local.get $0 i32.load offset=8 local.tee $5 local.get $2 i32.shr_u - local.get $1 - i32.lt_u + i32.gt_u if + local.get $1 i32.const 1073741820 local.get $2 i32.shr_u - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1456 i32.const 1616 @@ -1944,10 +1942,10 @@ ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -1972,18 +1970,18 @@ local.get $3 i32.store offset=12 end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add local.get $2 i32.store8 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1616 @@ -1992,9 +1990,9 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_s ) @@ -2667,10 +2665,10 @@ local.get $6 i32.lt_s if + local.get $5 local.get $3 i32.const 3 i32.shl - local.get $5 i32.add local.tee $4 i32.load offset=4 @@ -2717,10 +2715,10 @@ i32.const 0 local.set $0 loop $for-loop|4 + local.get $0 local.get $7 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $7 local.get $0 @@ -2755,9 +2753,9 @@ local.get $2 i32.load offset=4 local.get $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -3387,6 +3385,8 @@ local.tee $8 i32.store8 local.get $2 + local.get $5 + local.get $1 local.get $8 i32.const -1028477379 i32.mul @@ -3415,11 +3415,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $5 i32.add local.tee $8 i32.load @@ -3582,7 +3580,6 @@ end local.get $0 i32.load offset=8 - local.set $1 local.get $0 local.get $0 i32.load offset=16 @@ -3593,7 +3590,6 @@ local.get $4 i32.const 3 i32.shl - local.get $1 i32.add local.tee $1 local.get $2 @@ -3607,9 +3603,9 @@ local.get $1 local.get $0 i32.load + local.get $3 local.get $0 i32.load offset=4 - local.get $3 i32.and i32.const 2 i32.shl @@ -3623,10 +3619,10 @@ end ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1616 @@ -3635,9 +3631,9 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_u ) @@ -4280,10 +4276,10 @@ local.get $6 i32.lt_s if + local.get $5 local.get $3 i32.const 3 i32.shl - local.get $5 i32.add local.tee $4 i32.load offset=4 @@ -4330,10 +4326,10 @@ i32.const 0 local.set $0 loop $for-loop|4 + local.get $0 local.get $7 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $7 local.get $0 @@ -4369,9 +4365,9 @@ local.get $2 i32.load offset=4 local.get $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -5008,6 +5004,8 @@ local.tee $8 i32.store16 local.get $2 + local.get $5 + local.get $1 local.get $8 i32.extend16_s i32.const -1028477379 @@ -5037,11 +5035,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $5 i32.add local.tee $8 i32.load @@ -5203,7 +5199,6 @@ end local.get $0 i32.load offset=8 - local.set $1 local.get $0 local.get $0 i32.load offset=16 @@ -5214,7 +5209,6 @@ local.get $4 i32.const 3 i32.shl - local.get $1 i32.add local.tee $1 local.get $2 @@ -5228,9 +5222,9 @@ local.get $1 local.get $0 i32.load + local.get $3 local.get $0 i32.load offset=4 - local.get $3 i32.and i32.const 2 i32.shl @@ -5245,10 +5239,10 @@ ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -5283,10 +5277,10 @@ i32.store16 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1616 @@ -5937,10 +5931,10 @@ local.get $6 i32.lt_s if + local.get $5 local.get $3 i32.const 3 i32.shl - local.get $5 i32.add local.tee $4 i32.load offset=4 @@ -5987,10 +5981,10 @@ i32.const 0 local.set $0 loop $for-loop|4 + local.get $0 local.get $7 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $7 local.get $0 @@ -6025,9 +6019,9 @@ local.get $2 i32.load offset=4 local.get $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -6657,6 +6651,8 @@ local.tee $8 i32.store16 local.get $2 + local.get $5 + local.get $1 local.get $8 i32.const -1028477379 i32.mul @@ -6685,11 +6681,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $5 i32.add local.tee $8 i32.load @@ -6852,7 +6846,6 @@ end local.get $0 i32.load offset=8 - local.set $1 local.get $0 local.get $0 i32.load offset=16 @@ -6863,7 +6856,6 @@ local.get $4 i32.const 3 i32.shl - local.get $1 i32.add local.tee $1 local.get $2 @@ -6877,9 +6869,9 @@ local.get $1 local.get $0 i32.load + local.get $3 local.get $0 i32.load offset=4 - local.get $3 i32.and i32.const 2 i32.shl @@ -6893,10 +6885,10 @@ end ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1616 @@ -7554,10 +7546,10 @@ local.get $6 i32.lt_s if + local.get $5 local.get $3 i32.const 3 i32.shl - local.get $5 i32.add local.tee $4 i32.load offset=4 @@ -7604,10 +7596,10 @@ i32.const 0 local.set $0 loop $for-loop|4 + local.get $0 local.get $7 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $7 local.get $0 @@ -7643,9 +7635,9 @@ local.get $2 i32.load offset=4 local.get $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -8282,6 +8274,8 @@ local.tee $8 i32.store local.get $2 + local.get $5 + local.get $1 local.get $8 i32.const -1028477379 i32.mul @@ -8310,11 +8304,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $5 i32.add local.tee $8 i32.load @@ -8423,9 +8415,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $1 i32.load + local.get $2 i32.eq end br_if $__inlined_func$~lib/set/Set#find @@ -8473,7 +8465,6 @@ end local.get $0 i32.load offset=8 - local.set $1 local.get $0 local.get $0 i32.load offset=16 @@ -8484,7 +8475,6 @@ local.get $4 i32.const 3 i32.shl - local.get $1 i32.add local.tee $1 local.get $2 @@ -8498,9 +8488,9 @@ local.get $1 local.get $0 i32.load + local.get $3 local.get $0 i32.load offset=4 - local.get $3 i32.and i32.const 2 i32.shl @@ -8515,10 +8505,10 @@ ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -8553,10 +8543,10 @@ i32.store ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1616 @@ -8627,9 +8617,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $1 i32.load + local.get $2 i32.eq end br_if $__inlined_func$~lib/set/Set#find @@ -8780,9 +8770,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find @@ -8858,9 +8848,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find1 @@ -8960,9 +8950,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find4 @@ -9039,9 +9029,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find7 @@ -9190,10 +9180,10 @@ local.get $6 i32.lt_s if + local.get $5 local.get $3 i32.const 3 i32.shl - local.get $5 i32.add local.tee $4 i32.load offset=4 @@ -9240,10 +9230,10 @@ i32.const 0 local.set $0 loop $for-loop|2 + local.get $0 local.get $7 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $7 local.get $0 @@ -9277,9 +9267,9 @@ local.get $2 i32.load offset=4 local.get $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -9299,9 +9289,9 @@ if (result i32) i32.const 0 else - local.get $4 local.get $1 i32.load + local.get $4 i32.eq end br_if $__inlined_func$~lib/set/Set#find10 @@ -9407,9 +9397,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find13 @@ -9486,9 +9476,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find16 @@ -9587,9 +9577,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find19 @@ -9665,9 +9655,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find22 @@ -9744,9 +9734,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find25 @@ -9890,6 +9880,8 @@ local.tee $8 i32.store local.get $2 + local.get $5 + local.get $1 local.get $8 i32.const -1028477379 i32.mul @@ -9918,11 +9910,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $5 i32.add local.tee $8 i32.load @@ -10031,9 +10021,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $1 i32.load + local.get $2 i32.eq end br_if $__inlined_func$~lib/set/Set#find @@ -10081,7 +10071,6 @@ end local.get $0 i32.load offset=8 - local.set $1 local.get $0 local.get $0 i32.load offset=16 @@ -10092,7 +10081,6 @@ local.get $4 i32.const 3 i32.shl - local.get $1 i32.add local.tee $1 local.get $2 @@ -10106,9 +10094,9 @@ local.get $1 local.get $0 i32.load + local.get $3 local.get $0 i32.load offset=4 - local.get $3 i32.and i32.const 2 i32.shl @@ -10122,10 +10110,10 @@ end ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1616 @@ -10196,9 +10184,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $1 i32.load + local.get $2 i32.eq end br_if $__inlined_func$~lib/set/Set#find @@ -10349,9 +10337,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find @@ -10427,9 +10415,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find1 @@ -10529,9 +10517,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find4 @@ -10608,9 +10596,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find7 @@ -10759,10 +10747,10 @@ local.get $6 i32.lt_s if + local.get $5 local.get $3 i32.const 3 i32.shl - local.get $5 i32.add local.tee $4 i32.load offset=4 @@ -10809,10 +10797,10 @@ i32.const 0 local.set $0 loop $for-loop|2 + local.get $0 local.get $7 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $7 local.get $0 @@ -10846,9 +10834,9 @@ local.get $2 i32.load offset=4 local.get $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor i32.and i32.const 2 @@ -10868,9 +10856,9 @@ if (result i32) i32.const 0 else - local.get $4 local.get $1 i32.load + local.get $4 i32.eq end br_if $__inlined_func$~lib/set/Set#find10 @@ -10976,9 +10964,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find13 @@ -11055,9 +11043,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find16 @@ -11156,9 +11144,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find19 @@ -11234,9 +11222,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find22 @@ -11313,9 +11301,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/set/Set#find25 @@ -11446,9 +11434,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/set/Set#find @@ -11544,6 +11532,8 @@ local.tee $6 i64.store local.get $2 + local.get $7 + local.get $1 local.get $6 i32.wrap_i64 i32.const -1028477379 @@ -11584,11 +11574,9 @@ i32.shr_u local.get $9 i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $7 i32.add local.tee $9 i32.load @@ -11708,9 +11696,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $2 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/set/Set#find @@ -11758,7 +11746,6 @@ end local.get $0 i32.load offset=8 - local.set $2 local.get $0 local.get $0 i32.load offset=16 @@ -11769,7 +11756,6 @@ local.get $4 i32.const 4 i32.shl - local.get $2 i32.add local.tee $2 local.get $1 @@ -11783,9 +11769,9 @@ local.get $2 local.get $0 i32.load + local.get $3 local.get $0 i32.load offset=4 - local.get $3 i32.and i32.const 2 i32.shl @@ -11800,10 +11786,10 @@ ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if local.get $1 i32.const 0 @@ -11838,10 +11824,10 @@ i64.store ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1616 @@ -11923,9 +11909,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $2 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/set/Set#find @@ -12267,10 +12253,10 @@ local.get $4 i32.lt_s if + local.get $6 local.get $3 i32.const 4 i32.shl - local.get $6 i32.add local.tee $7 i32.load offset=8 @@ -12317,10 +12303,10 @@ i32.const 0 local.set $0 loop $for-loop|2 + local.get $0 local.get $10 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $2 local.get $10 @@ -12568,9 +12554,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/set/Set#find @@ -12666,6 +12652,8 @@ local.tee $6 i64.store local.get $2 + local.get $7 + local.get $1 local.get $6 i32.wrap_i64 i32.const -1028477379 @@ -12706,11 +12694,9 @@ i32.shr_u local.get $9 i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $7 i32.add local.tee $9 i32.load @@ -12830,9 +12816,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $2 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/set/Set#find @@ -12880,7 +12866,6 @@ end local.get $0 i32.load offset=8 - local.set $2 local.get $0 local.get $0 i32.load offset=16 @@ -12891,7 +12876,6 @@ local.get $4 i32.const 4 i32.shl - local.get $2 i32.add local.tee $2 local.get $1 @@ -12905,9 +12889,9 @@ local.get $2 local.get $0 i32.load + local.get $3 local.get $0 i32.load offset=4 - local.get $3 i32.and i32.const 2 i32.shl @@ -12921,10 +12905,10 @@ end ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1616 @@ -13006,9 +12990,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $2 i64.load + local.get $1 i64.eq end br_if $__inlined_func$~lib/set/Set#find @@ -13313,10 +13297,10 @@ local.get $4 i32.lt_s if + local.get $6 local.get $3 i32.const 4 i32.shl - local.get $6 i32.add local.tee $7 i32.load offset=8 @@ -13363,10 +13347,10 @@ i32.const 0 local.set $0 loop $for-loop|2 + local.get $0 local.get $10 i32.load offset=12 - local.get $0 - i32.gt_s + i32.lt_s if local.get $2 local.get $10 @@ -13628,6 +13612,8 @@ local.tee $4 f32.store local.get $2 + local.get $7 + local.get $1 local.get $4 i32.reinterpret_f32 i32.const -1028477379 @@ -13657,11 +13643,9 @@ i32.const 16 i32.shr_u i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $7 i32.add local.tee $9 i32.load @@ -13770,9 +13754,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $2 f32.load + local.get $1 f32.eq end br_if $__inlined_func$~lib/set/Set#find @@ -13820,7 +13804,6 @@ end local.get $0 i32.load offset=8 - local.set $2 local.get $0 local.get $0 i32.load offset=16 @@ -13831,7 +13814,6 @@ local.get $4 i32.const 3 i32.shl - local.get $2 i32.add local.tee $2 local.get $1 @@ -13845,9 +13827,9 @@ local.get $2 local.get $0 i32.load + local.get $3 local.get $0 i32.load offset=4 - local.get $3 i32.and i32.const 2 i32.shl @@ -13861,10 +13843,10 @@ end ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1616 @@ -13935,9 +13917,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $2 f32.load + local.get $1 f32.eq end br_if $__inlined_func$~lib/set/Set#find @@ -14092,9 +14074,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $3 f32.load + local.get $2 f32.eq end br_if $__inlined_func$~lib/set/Set#find @@ -14171,9 +14153,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $3 f32.load + local.get $2 f32.eq end br_if $__inlined_func$~lib/set/Set#find1 @@ -14274,9 +14256,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $3 f32.load + local.get $2 f32.eq end br_if $__inlined_func$~lib/set/Set#find4 @@ -14354,9 +14336,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $3 f32.load + local.get $2 f32.eq end br_if $__inlined_func$~lib/set/Set#find7 @@ -14503,10 +14485,10 @@ local.get $9 i32.gt_s if + local.get $4 local.get $9 i32.const 3 i32.shl - local.get $4 i32.add local.tee $0 i32.load offset=4 @@ -14522,10 +14504,10 @@ i32.const 1 i32.add local.set $1 + local.get $0 local.get $6 i32.load offset=12 - local.get $0 - i32.le_u + i32.ge_u if local.get $0 i32.const 0 @@ -14586,10 +14568,10 @@ local.tee $3 i32.store offset=8 loop $for-loop|2 + local.get $10 local.get $6 i32.load offset=12 - local.get $10 - i32.gt_s + i32.lt_s if local.get $6 local.get $10 @@ -14624,9 +14606,9 @@ local.get $11 i32.load offset=4 local.get $0 - local.get $0 i32.const 16 i32.shr_u + local.get $0 i32.xor i32.and i32.const 2 @@ -14646,9 +14628,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $1 f32.load + local.get $2 f32.eq end br_if $__inlined_func$~lib/set/Set#find10 @@ -14755,9 +14737,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $3 f32.load + local.get $2 f32.eq end br_if $__inlined_func$~lib/set/Set#find13 @@ -14835,9 +14817,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $3 f32.load + local.get $2 f32.eq end br_if $__inlined_func$~lib/set/Set#find16 @@ -14937,9 +14919,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $3 f32.load + local.get $2 f32.eq end br_if $__inlined_func$~lib/set/Set#find19 @@ -15016,9 +14998,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $3 f32.load + local.get $2 f32.eq end br_if $__inlined_func$~lib/set/Set#find22 @@ -15096,9 +15078,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $3 f32.load + local.get $2 f32.eq end br_if $__inlined_func$~lib/set/Set#find25 @@ -15232,9 +15214,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 f64.load + local.get $1 f64.eq end br_if $__inlined_func$~lib/set/Set#find @@ -15331,6 +15313,8 @@ local.tee $5 f64.store local.get $2 + local.get $8 + local.get $1 local.get $5 i64.reinterpret_f64 local.tee $4 @@ -15373,11 +15357,9 @@ i32.shr_u local.get $10 i32.xor - local.get $1 i32.and i32.const 2 i32.shl - local.get $8 i32.add local.tee $10 i32.load @@ -15500,9 +15482,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $2 f64.load + local.get $1 f64.eq end br_if $__inlined_func$~lib/set/Set#find @@ -15550,7 +15532,6 @@ end local.get $0 i32.load offset=8 - local.set $2 local.get $0 local.get $0 i32.load offset=16 @@ -15561,7 +15542,6 @@ local.get $5 i32.const 4 i32.shl - local.get $2 i32.add local.tee $2 local.get $1 @@ -15575,9 +15555,9 @@ local.get $2 local.get $0 i32.load + local.get $4 local.get $0 i32.load offset=4 - local.get $4 i32.and i32.const 2 i32.shl @@ -15591,10 +15571,10 @@ end ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1248 i32.const 1616 @@ -15679,9 +15659,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $2 f64.load + local.get $1 f64.eq end br_if $__inlined_func$~lib/set/Set#find @@ -15987,10 +15967,10 @@ local.get $9 i32.gt_s if + local.get $6 local.get $9 i32.const 4 i32.shl - local.get $6 i32.add local.tee $0 i32.load offset=8 @@ -16006,10 +15986,10 @@ i32.const 1 i32.add local.set $1 + local.get $0 local.get $4 i32.load offset=12 - local.get $0 - i32.le_u + i32.ge_u if local.get $0 i32.const 0 @@ -16070,10 +16050,10 @@ local.tee $0 i32.store offset=8 loop $for-loop|2 + local.get $11 local.get $4 i32.load offset=12 - local.get $11 - i32.gt_s + i32.lt_s if local.get $10 local.get $4 diff --git a/tests/compiler/std/static-array.release.wat b/tests/compiler/std/static-array.release.wat index d39c917b03..575dfd4e51 100644 --- a/tests/compiler/std/static-array.release.wat +++ b/tests/compiler/std/static-array.release.wat @@ -61,10 +61,10 @@ (export "memory" (memory $0)) (start $~start) (func $~lib/array/Array#__get (param $0 i32) (result i32) + local.get $0 i32.const 1100 i32.load - local.get $0 - i32.le_u + i32.ge_u if i32.const 1472 i32.const 1536 @@ -140,8 +140,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -201,11 +201,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -219,10 +219,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 1952 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1472 i32.const 1824 @@ -245,23 +245,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -364,37 +364,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -545,12 +545,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -611,14 +611,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -634,14 +634,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -653,10 +653,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -693,11 +693,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1904 @@ -706,10 +706,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -721,11 +721,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1904 @@ -764,10 +764,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -824,10 +824,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -888,25 +888,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -963,23 +963,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1135,13 +1135,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1181,10 +1181,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1193,6 +1193,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1201,7 +1202,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1215,12 +1215,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1233,6 +1233,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1241,7 +1242,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1427,6 +1427,7 @@ i32.sub i32.ne i32.shl + local.get $8 i32.const 1 i32.const 27 local.get $8 @@ -1435,7 +1436,6 @@ i32.shl i32.const 1 i32.sub - local.get $8 i32.add local.get $8 local.get $8 @@ -1488,12 +1488,12 @@ unreachable end end + local.get $8 local.get $1 i32.load i32.const -4 i32.and - local.get $8 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1904 @@ -1531,16 +1531,16 @@ i32.ge_u if local.get $1 + local.get $8 local.get $5 i32.const 2 i32.and - local.get $8 i32.or i32.store - local.get $8 local.get $1 i32.const 4 i32.add + local.get $8 i32.add local.tee $5 local.get $9 @@ -1584,19 +1584,19 @@ i32.load offset=8 local.set $5 local.get $1 - global.get $~lib/rt/itcms/white local.get $4 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $5 i32.store offset=8 local.get $5 + local.get $1 local.get $5 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $4 @@ -1697,10 +1697,10 @@ end ) (func $~lib/array/Array#__get (param $0 i32) (result i64) + local.get $0 i32.const 1196 i32.load - local.get $0 - i32.le_u + i32.ge_u if i32.const 1472 i32.const 1536 @@ -1718,10 +1718,10 @@ i64.load ) (func $~lib/array/Array#__get (param $0 i32) (result f32) + local.get $0 i32.const 1276 i32.load - local.get $0 - i32.le_u + i32.ge_u if i32.const 1472 i32.const 1536 @@ -1739,10 +1739,10 @@ f32.load ) (func $~lib/array/Array#__get (param $0 i32) (result f64) + local.get $0 i32.const 1372 i32.load - local.get $0 - i32.le_u + i32.ge_u if i32.const 1472 i32.const 1536 diff --git a/tests/compiler/std/staticarray.release.wat b/tests/compiler/std/staticarray.release.wat index 53a83e16d5..4923e6b180 100644 --- a/tests/compiler/std/staticarray.release.wat +++ b/tests/compiler/std/staticarray.release.wat @@ -162,14 +162,14 @@ (export "memory" (memory $0)) (start $~start) (func $~lib/staticarray/StaticArray#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1088 i32.const 1152 @@ -178,10 +178,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load ) @@ -275,8 +275,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -336,11 +336,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -354,10 +354,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 3728 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1088 i32.const 1536 @@ -380,23 +380,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -499,37 +499,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -680,12 +680,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -746,14 +746,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -769,14 +769,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -788,10 +788,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -828,11 +828,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -841,10 +841,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -856,11 +856,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1616 @@ -899,10 +899,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -959,10 +959,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -1073,25 +1073,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1148,23 +1148,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1276,13 +1276,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1322,10 +1322,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1334,6 +1334,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1342,7 +1343,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1356,12 +1356,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1374,6 +1374,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1382,7 +1383,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1435,6 +1435,7 @@ i32.sub i32.ne i32.shl + local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1443,7 +1444,6 @@ i32.shl i32.const 1 i32.sub - local.get $3 i32.add local.get $3 local.get $3 @@ -1496,12 +1496,12 @@ unreachable end end + local.get $3 local.get $1 i32.load i32.const -4 i32.and - local.get $3 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1616 @@ -1539,16 +1539,16 @@ i32.ge_u if local.get $1 + local.get $3 local.get $4 i32.const 2 i32.and - local.get $3 i32.or i32.store - local.get $3 local.get $1 i32.const 4 i32.add + local.get $3 i32.add local.tee $3 local.get $2 @@ -1663,19 +1663,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1700,10 +1700,10 @@ local.get $1 ) (func $~lib/staticarray/StaticArray#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $2 i32.store @@ -1716,10 +1716,10 @@ end ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1088 i32.const 1776 @@ -1875,7 +1875,6 @@ i32.const 0 i32.store block $__inlined_func$~lib/staticarray/StaticArray<~lib/string/String>#indexOf - local.get $2 local.get $0 i32.const 20 i32.sub @@ -1883,7 +1882,8 @@ i32.const 2 i32.shr_u local.tee $3 - i32.ge_s + local.get $2 + i32.le_s i32.const 1 local.get $3 select @@ -1917,10 +1917,10 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $4 @@ -2003,6 +2003,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -2020,7 +2021,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -2028,10 +2028,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load offset=4 @@ -2065,10 +2065,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.set $8 @@ -2082,10 +2082,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 i32.store offset=8 @@ -2097,10 +2097,10 @@ end end end + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $3 i32.store offset=8 @@ -2110,10 +2110,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.set $3 @@ -2127,10 +2127,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $3 i32.store offset=4 @@ -2142,10 +2142,10 @@ end end end + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=4 @@ -2168,19 +2168,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 2 i32.shl - local.get $0 i32.add i32.load i32.const 2 @@ -2196,10 +2196,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $5 i32.load offset=4 @@ -2230,19 +2230,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load @@ -2267,10 +2267,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -2301,11 +2301,11 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $7 local.get $6 @@ -2317,7 +2317,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -2325,6 +2324,7 @@ i32.const 2 i32.shl local.tee $8 + local.get $4 i32.add local.get $0 local.get $8 @@ -2339,17 +2339,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $7 local.get $6 i32.sub i32.const 2 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.store @@ -2365,17 +2365,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.set $7 + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.set $8 @@ -2389,10 +2389,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $7 i32.store @@ -2401,10 +2401,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 i32.store @@ -2561,13 +2561,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -2575,10 +2575,10 @@ local.get $8 i32.lt_u if + local.get $10 local.get $6 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -2699,10 +2699,10 @@ local.get $4 i32.lt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $8 @@ -2711,11 +2711,11 @@ if local.get $0 local.get $8 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -2739,11 +2739,11 @@ br $for-loop|3 end end - local.get $10 local.get $1 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -2764,10 +2764,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -2776,10 +2776,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -2810,10 +2810,10 @@ (local $1 i32) (local $2 i32) local.get $0 + local.get $0 i32.const 20 i32.sub i32.load offset=16 - local.get $0 i32.add local.set $2 loop $while-continue|0 @@ -3306,14 +3306,14 @@ unreachable end loop $for-loop|0 + local.get $0 local.get $7 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $0 - i32.gt_s + i32.lt_s if local.get $7 local.get $0 @@ -3363,10 +3363,10 @@ unreachable end loop $for-loop|1 + local.get $2 local.get $0 i32.load offset=12 - local.get $2 - i32.gt_s + i32.lt_s if local.get $6 local.get $2 @@ -3535,14 +3535,14 @@ unreachable end loop $for-loop|2 + local.get $1 local.get $2 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $1 - i32.gt_s + i32.lt_s if local.get $2 local.get $1 @@ -4016,10 +4016,10 @@ i32.lt_s if i32.const 1 + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add f64.load local.tee $4 @@ -4079,10 +4079,10 @@ i32.lt_s if i32.const 1 + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add f32.load local.tee $5 @@ -4141,11 +4141,11 @@ local.get $6 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 2 @@ -4189,11 +4189,11 @@ local.get $6 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 7 @@ -4243,11 +4243,11 @@ local.get $6 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 9 @@ -4305,10 +4305,10 @@ local.get $1 i32.lt_s if + local.get $2 local.get $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 2 @@ -4366,10 +4366,10 @@ local.get $1 i32.lt_s if + local.get $2 local.get $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 2 @@ -4434,10 +4434,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 2 @@ -4494,10 +4494,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 7 @@ -4550,10 +4550,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 2 @@ -4606,10 +4606,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 2 @@ -4655,10 +4655,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 2 @@ -4704,10 +4704,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 2 @@ -4956,10 +4956,10 @@ local.get $2 i32.lt_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.const 1 i32.store @@ -5029,21 +5029,21 @@ local.get $6 i32.lt_u if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add local.tee $7 i32.load local.set $8 local.get $7 + local.get $1 local.get $2 local.get $0 i32.sub i32.const 2 i32.shl - local.get $1 i32.add local.tee $7 i32.load @@ -5109,6 +5109,7 @@ local.get $1 i32.store offset=16 local.get $1 + local.get $1 i32.const 3 local.get $1 i32.const 20 @@ -5124,7 +5125,6 @@ local.tee $2 i32.const 2 i32.shl - local.get $1 i32.add local.get $0 i32.const 0 @@ -5268,11 +5268,11 @@ local.get $2 i32.lt_s if + local.get $7 local.get $0 i32.const 2 i32.shl local.tee $9 - local.get $7 i32.add i32.load local.set $10 @@ -5358,10 +5358,10 @@ local.get $1 i32.gt_s if + local.get $7 local.get $1 i32.const 2 i32.shl - local.get $7 i32.add i32.load i32.const 3 @@ -5424,10 +5424,10 @@ local.get $10 i32.lt_s if + local.get $7 local.get $3 i32.const 2 i32.shl - local.get $7 i32.add i32.load local.set $11 @@ -5630,10 +5630,10 @@ local.get $2 i32.lt_s if + local.get $7 local.get $0 i32.const 2 i32.shl - local.get $7 i32.add i32.load local.set $3 @@ -5684,10 +5684,10 @@ i32.const 0 i32.ge_s if + local.get $7 local.get $1 i32.const 2 i32.shl - local.get $7 i32.add i32.load local.set $2 @@ -5737,10 +5737,10 @@ local.get $1 i32.gt_s if + local.get $7 local.get $1 i32.const 2 i32.shl - local.get $7 i32.add i32.load local.set $2 @@ -5791,10 +5791,10 @@ local.get $1 i32.gt_s if + local.get $7 local.get $1 i32.const 2 i32.shl - local.get $7 i32.add i32.load local.set $2 @@ -5844,10 +5844,10 @@ local.get $1 i32.gt_s if + local.get $7 local.get $1 i32.const 2 i32.shl - local.get $7 i32.add i32.load local.set $2 @@ -5899,10 +5899,10 @@ local.get $1 i32.gt_s if + local.get $7 local.get $1 i32.const 2 i32.shl - local.get $7 i32.add i32.load local.set $2 @@ -5953,10 +5953,10 @@ local.get $1 i32.gt_s if + local.get $7 local.get $1 i32.const 2 i32.shl - local.get $7 i32.add i32.load i32.const 3 @@ -6006,10 +6006,10 @@ local.get $1 i32.gt_s if + local.get $7 local.get $1 i32.const 2 i32.shl - local.get $7 i32.add i32.load i32.const 3 @@ -6059,10 +6059,10 @@ i32.const 0 i32.ge_s if + local.get $7 local.get $0 i32.const 2 i32.shl - local.get $7 i32.add i32.load i32.const 3 @@ -6112,10 +6112,10 @@ i32.const 0 i32.ge_s if + local.get $7 local.get $0 i32.const 2 i32.shl - local.get $7 i32.add i32.load i32.const 3 @@ -6605,10 +6605,10 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.set $0 i32.const 0 @@ -6666,14 +6666,14 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1088 i32.const 1152 @@ -6683,10 +6683,10 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $0 @@ -6910,23 +6910,23 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $6 i32.store offset=4 local.get $6 if + local.get $3 local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.get $3 i32.add local.set $3 end @@ -6941,7 +6941,6 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $3 - local.get $5 local.get $2 i32.const 20 i32.sub @@ -6949,6 +6948,7 @@ i32.const 1 i32.shr_u local.tee $3 + local.get $5 i32.mul i32.add i32.const 1 @@ -6965,20 +6965,20 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $7 i32.store offset=4 local.get $7 if + local.get $6 local.get $1 i32.const 1 i32.shl - local.get $6 i32.add local.get $7 local.get $7 @@ -6998,10 +6998,10 @@ end local.get $3 if + local.get $6 local.get $1 i32.const 1 i32.shl - local.get $6 i32.add local.get $2 local.get $3 @@ -7021,20 +7021,20 @@ end end global.get $~lib/memory/__stack_pointer + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $0 i32.store offset=4 local.get $0 if + local.get $6 local.get $1 i32.const 1 i32.shl - local.get $6 i32.add local.get $0 local.get $0 diff --git a/tests/compiler/std/string-casemapping.release.wat b/tests/compiler/std/string-casemapping.release.wat index 3374aa1cff..f5757ca98a 100644 --- a/tests/compiler/std/string-casemapping.release.wat +++ b/tests/compiler/std/string-casemapping.release.wat @@ -629,37 +629,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -810,12 +810,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -876,14 +876,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -899,14 +899,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -918,10 +918,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -958,11 +958,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1424 @@ -971,10 +971,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -986,11 +986,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1424 @@ -1029,10 +1029,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -1089,10 +1089,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -1153,25 +1153,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1228,23 +1228,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1400,13 +1400,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1446,10 +1446,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1458,6 +1458,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1466,7 +1467,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1480,12 +1480,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1498,6 +1498,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1506,7 +1507,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1627,6 +1627,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1635,7 +1636,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1688,12 +1688,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1424 @@ -1731,16 +1731,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1784,19 +1784,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1892,12 +1892,11 @@ loop $while-continue|0 local.get $3 if - local.get $4 + local.get $2 local.get $3 i32.const 1 i32.shr_u local.tee $6 - local.get $2 i32.add i32.const 1 i32.shl @@ -1905,6 +1904,7 @@ i32.add i32.load8_u local.tee $5 + local.get $4 i32.eq if (result i32) local.get $2 @@ -1963,19 +1963,20 @@ local.get $0 return end + local.get $0 + local.get $2 i32.const 0 local.get $1 local.get $3 i32.xor i32.sub - local.get $2 i32.and - local.get $0 i32.add ) (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.const 20 i32.sub @@ -1985,8 +1986,7 @@ i32.and i32.const 16 i32.sub - local.get $1 - i32.ge_u + i32.le_u if local.get $3 local.get $1 @@ -2143,13 +2143,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -2178,13 +2178,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -2204,12 +2204,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -2219,12 +2219,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -2406,10 +2406,10 @@ local.get $7 i32.gt_u if + local.get $0 local.get $7 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u local.tee $3 @@ -2422,17 +2422,17 @@ i32.sub i32.const 1025 i32.lt_u + local.get $7 local.get $6 i32.const 1 i32.sub - local.get $7 - i32.gt_u + i32.lt_u i32.and if + local.get $0 local.get $7 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u offset=2 local.tee $4 @@ -2461,15 +2461,15 @@ i32.const 131072 i32.ge_u if + local.get $8 local.get $9 i32.const 1 i32.shl - local.get $8 i32.add + local.get $1 local.get $4 i32.const 16 i32.shl - local.get $1 i32.or i32.store local.get $9 @@ -2486,10 +2486,10 @@ i32.const 25 i32.le_u if + local.get $8 local.get $9 i32.const 1 i32.shl - local.get $8 i32.add local.get $3 i32.const 26 @@ -2567,10 +2567,10 @@ local.tee $4 i32.load16_u offset=6 local.set $3 + local.get $8 local.get $9 i32.const 1 i32.shl - local.get $8 i32.add local.tee $1 local.get $4 @@ -2579,12 +2579,12 @@ local.get $1 local.get $3 i32.store16 offset=4 + local.get $9 local.get $3 i32.const 0 i32.ne i32.const 1 i32.add - local.get $9 i32.add local.set $9 else @@ -2597,18 +2597,18 @@ i32.const 65536 i32.lt_u if + local.get $8 local.get $9 i32.const 1 i32.shl - local.get $8 i32.add local.get $1 i32.store16 else + local.get $8 local.get $9 i32.const 1 i32.shl - local.get $8 i32.add local.get $1 i32.const 65536 @@ -2636,10 +2636,10 @@ end end else + local.get $8 local.get $9 i32.const 1 i32.shl - local.get $8 i32.add local.get $3 i32.const 2316 @@ -4756,10 +4756,10 @@ i32.ne br_if $__inlined_func$~lib/string/String#codePointAt drop - local.get $8 local.get $7 i32.const 10 i32.shl + local.get $8 i32.add i32.const 56613888 i32.sub @@ -4804,10 +4804,10 @@ i32.ne br_if $__inlined_func$~lib/string/String#codePointAt0 drop - local.get $8 local.get $7 i32.const 10 i32.shl + local.get $8 i32.add i32.const 56613888 i32.sub @@ -4817,10 +4817,10 @@ i64.const 0 i64.ge_s if + local.get $0 local.get $1 i64.const 16 i64.shl - local.get $0 i64.add local.set $0 end @@ -4862,10 +4862,10 @@ i32.ne br_if $__inlined_func$~lib/string/String#codePointAt1 drop - local.get $6 local.get $7 i32.const 10 i32.shl + local.get $6 i32.add i32.const 56613888 i32.sub @@ -4875,10 +4875,10 @@ i64.const 0 i64.ge_s if (result i64) + local.get $0 local.get $1 i64.const 32 i64.shl - local.get $0 i64.add else local.get $0 @@ -4921,10 +4921,10 @@ i32.ne br_if $__inlined_func$~lib/string/String#codePointAt2 drop - local.get $7 local.get $6 i32.const 10 i32.shl + local.get $7 i32.add i32.const 56613888 i32.sub @@ -4969,10 +4969,10 @@ i32.ne br_if $__inlined_func$~lib/string/String#codePointAt3 drop - local.get $7 local.get $6 i32.const 10 i32.shl + local.get $7 i32.add i32.const 56613888 i32.sub @@ -4982,10 +4982,10 @@ i64.const 0 i64.ge_s if + local.get $0 local.get $2 i64.const 16 i64.shl - local.get $0 i64.add local.set $0 end @@ -5027,10 +5027,10 @@ i32.ne br_if $__inlined_func$~lib/string/String#codePointAt4 drop - local.get $5 local.get $6 i32.const 10 i32.shl + local.get $5 i32.add i32.const 56613888 i32.sub @@ -5040,10 +5040,10 @@ i64.const 0 i64.ge_s if (result i64) + local.get $0 local.get $2 i64.const 32 i64.shl - local.get $0 i64.add else local.get $0 @@ -5062,10 +5062,10 @@ i64.const 0 i64.ge_s if + local.get $0 local.get $3 i64.const 16 i64.shl - local.get $0 i64.add local.set $0 end @@ -5077,10 +5077,10 @@ i64.const 0 i64.ge_s if (result i64) + local.get $0 local.get $3 i64.const 32 i64.shl - local.get $0 i64.add else local.get $0 @@ -5099,10 +5099,10 @@ i64.const 0 i64.ge_s if + local.get $0 local.get $9 i64.const 16 i64.shl - local.get $0 i64.add local.set $0 end @@ -5114,10 +5114,10 @@ i64.const 0 i64.ge_s if + local.get $0 local.get $9 i64.const 32 i64.shl - local.get $0 i64.add local.set $0 end @@ -5320,10 +5320,10 @@ local.get $4 i32.lt_u if + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u local.tee $1 @@ -5336,17 +5336,17 @@ i32.sub i32.const 1025 i32.lt_u + local.get $3 local.get $4 i32.const 1 i32.sub - local.get $3 - i32.gt_u + i32.lt_u i32.and if + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u offset=2 local.tee $7 @@ -5375,15 +5375,15 @@ i32.const 131072 i32.ge_u if + local.get $5 local.get $6 i32.const 1 i32.shl - local.get $5 i32.add + local.get $2 local.get $7 i32.const 16 i32.shl - local.get $2 i32.or i32.store local.get $6 @@ -5398,10 +5398,10 @@ i32.const 304 i32.eq if + local.get $5 local.get $6 i32.const 1 i32.shl - local.get $5 i32.add i32.const 50790505 i32.store @@ -5414,10 +5414,10 @@ i32.const 931 i32.eq if + local.get $5 local.get $6 i32.const 1 i32.shl - local.get $5 i32.add i32.const 962 i32.const 963 @@ -5451,12 +5451,12 @@ i32.le_s br_if $~lib/util/string/codePointBefore|inlined.0 drop + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u local.tee $8 @@ -5471,12 +5471,12 @@ i32.ge_s i32.and if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u local.tee $9 @@ -5611,10 +5611,10 @@ local.get $7 i32.lt_s if + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u local.tee $1 @@ -5622,17 +5622,17 @@ i32.and i32.const 55296 i32.eq - local.get $4 local.get $2 i32.const 1 i32.add + local.get $4 i32.ne i32.and if + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u offset=2 local.tee $8 @@ -5641,10 +5641,10 @@ i32.const 56320 i32.eq if - local.get $8 local.get $1 i32.const 10 i32.shl + local.get $8 i32.add i32.const 56613888 i32.sub @@ -5716,12 +5716,12 @@ i32.eqz br $~lib/util/string/isFinalSigma|inlined.0 end + local.get $2 local.get $1 i32.const 65536 i32.ge_u i32.const 1 i32.add - local.get $2 i32.add local.set $2 br $while-continue|2 @@ -5741,10 +5741,10 @@ i32.const 25 i32.le_u if + local.get $5 local.get $6 i32.const 1 i32.shl - local.get $5 i32.add local.get $1 i32.const 26 @@ -5760,18 +5760,18 @@ i32.const 65536 i32.lt_u if + local.get $5 local.get $6 i32.const 1 i32.shl - local.get $5 i32.add local.get $1 i32.store16 else + local.get $5 local.get $6 i32.const 1 i32.shl - local.get $5 i32.add local.get $1 i32.const 65536 @@ -5800,10 +5800,10 @@ end end else + local.get $5 local.get $6 i32.const 1 i32.shl - local.get $5 i32.add local.get $1 i32.const 7084 @@ -5959,7 +5959,6 @@ i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $2 local.get $0 i32.wrap_i64 local.tee $1 @@ -6011,6 +6010,7 @@ local.tee $4 i32.const 1 i32.shl + local.get $2 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -6024,7 +6024,6 @@ call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $2 local.get $0 i64.const 1000000000000000 i64.lt_u @@ -6078,6 +6077,7 @@ local.tee $1 i32.const 1 i32.shl + local.get $2 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -6092,13 +6092,13 @@ i64.const 100000000 i64.ge_u if + local.get $5 local.get $1 i32.const 4 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $5 i32.add local.get $0 local.get $0 @@ -6132,13 +6132,13 @@ i64.shl i64.or i64.store + local.get $5 local.get $1 i32.const 4 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $5 i32.add local.get $4 i32.const 10000 @@ -6198,8 +6198,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -6259,11 +6259,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -6277,10 +6277,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 21056 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1280 i32.const 1344 @@ -6317,11 +6317,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/std/string-encoding.release.wat b/tests/compiler/std/string-encoding.release.wat index 3815009844..062dc17baa 100644 --- a/tests/compiler/std/string-encoding.release.wat +++ b/tests/compiler/std/string-encoding.release.wat @@ -216,37 +216,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -397,12 +397,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -463,14 +463,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -486,14 +486,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -505,10 +505,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -545,11 +545,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1488 @@ -558,10 +558,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -573,11 +573,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1488 @@ -616,10 +616,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -676,10 +676,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -740,25 +740,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -815,23 +815,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -987,13 +987,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1033,10 +1033,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1045,6 +1045,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1053,7 +1054,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1067,12 +1067,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1085,6 +1085,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1093,7 +1094,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1214,6 +1214,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1222,7 +1223,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1275,12 +1275,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1488 @@ -1318,16 +1318,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1371,19 +1371,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1529,10 +1529,10 @@ (local $3 i32) (local $4 i32) local.get $0 + local.get $0 i32.const 20 i32.sub i32.load offset=16 - local.get $0 i32.add local.set $4 local.get $1 @@ -1551,9 +1551,9 @@ i32.const 128 i32.lt_u if (result i32) + local.get $1 local.get $3 i32.eqz - local.get $1 i32.and br_if $while-break|0 local.get $2 @@ -1573,11 +1573,11 @@ i32.and i32.const 55296 i32.eq - local.get $4 local.get $0 i32.const 2 i32.add - i32.gt_u + local.get $4 + i32.lt_u i32.and if local.get $0 @@ -3535,11 +3535,13 @@ i32.load offset=16 i32.const 1 i32.shr_u + local.set $5 local.get $4 local.set $0 + local.get $3 + local.get $5 i32.const 1 i32.shl - local.get $3 i32.add local.set $6 block $__inlined_func$~lib/string/String.UTF8.encodeUnsafe @@ -3561,9 +3563,9 @@ i32.const 1 i32.add local.set $0 + local.get $1 local.get $5 i32.eqz - local.get $1 i32.and br_if $__inlined_func$~lib/string/String.UTF8.encodeUnsafe else @@ -3599,11 +3601,11 @@ local.get $5 i32.const 56320 i32.lt_u - local.get $6 local.get $3 i32.const 2 i32.add - i32.gt_u + local.get $6 + i32.lt_u i32.and if local.get $3 @@ -3762,9 +3764,9 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 local.tee $3 + local.get $1 i32.add local.set $5 local.get $3 @@ -3825,12 +3827,12 @@ i32.eq if local.get $1 - local.get $7 local.get $6 i32.const 31 i32.and i32.const 6 i32.shl + local.get $7 i32.or i32.store16 else @@ -3853,7 +3855,6 @@ i32.const 224 i32.eq if - local.get $4 local.get $6 i32.const 15 i32.and @@ -3863,6 +3864,7 @@ i32.const 6 i32.shl i32.or + local.get $4 i32.or local.set $4 else @@ -3927,9 +3929,9 @@ end end else + local.get $2 local.get $6 i32.eqz - local.get $2 i32.and br_if $while-break|0 local.get $1 @@ -4003,8 +4005,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -4064,11 +4066,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -4082,10 +4084,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 22592 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1344 i32.const 1408 @@ -4122,11 +4124,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/std/string.release.wat b/tests/compiler/std/string.release.wat index 698fd77d5a..34f0af40e5 100644 --- a/tests/compiler/std/string.release.wat +++ b/tests/compiler/std/string.release.wat @@ -960,10 +960,10 @@ (start $~start) (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.tee $1 i32.const 7 @@ -1143,8 +1143,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -1204,11 +1204,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -1222,10 +1222,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 26112 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1264 i32.const 1568 @@ -1248,23 +1248,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -1367,37 +1367,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -1548,12 +1548,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -1614,14 +1614,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -1637,14 +1637,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -1656,10 +1656,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -1696,11 +1696,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1648 @@ -1709,10 +1709,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -1724,11 +1724,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1648 @@ -1767,10 +1767,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -1827,10 +1827,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -1891,25 +1891,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1966,23 +1966,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -2138,13 +2138,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -2184,10 +2184,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -2196,6 +2196,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -2204,7 +2205,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -2218,12 +2218,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -2236,6 +2236,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -2244,7 +2245,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -2365,6 +2365,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -2373,7 +2374,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -2426,12 +2426,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1648 @@ -2469,16 +2469,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -2522,19 +2522,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -2560,6 +2560,7 @@ ) (func $~lib/string/String#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.const 20 @@ -2572,7 +2573,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -2589,10 +2589,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u i32.store16 @@ -3064,7 +3064,6 @@ local.set $2 local.get $0 if - local.get $1 local.get $3 i32.load16_u local.tee $0 @@ -3100,7 +3099,8 @@ end end local.tee $0 - i32.le_u + local.get $1 + i32.ge_u if local.get $2 local.get $6 @@ -3347,6 +3347,7 @@ local.set $0 local.get $1 if + local.get $6 local.get $2 i32.load16_u local.tee $1 @@ -3382,8 +3383,7 @@ end end local.tee $1 - local.get $6 - i32.ge_u + i32.le_u if local.get $0 local.get $3 @@ -3394,10 +3394,10 @@ end br $while-break|2 end - local.get $1 local.get $5 local.get $6 i32.mul + local.get $1 i32.add local.set $5 local.get $2 @@ -3628,6 +3628,7 @@ local.set $0 local.get $1 if + local.get $6 local.get $2 i32.load16_u local.tee $1 @@ -3663,8 +3664,7 @@ end end local.tee $1 - local.get $6 - i32.ge_u + i32.le_u if local.get $0 local.get $3 @@ -3677,9 +3677,9 @@ end local.get $1 i64.extend_i32_u + local.get $5 local.get $6 i64.extend_i32_s - local.get $5 i64.mul i64.add local.set $5 @@ -4239,11 +4239,11 @@ i64.mul i64.add else + local.get $6 local.get $4 i32.eqz i32.eqz i64.extend_i32_u - local.get $6 i64.or end local.set $6 @@ -4400,10 +4400,10 @@ i32.ge_s br_if $~lib/util/string/parseExp|inlined.0 drop - local.get $5 local.get $3 i32.const 10 i32.mul + local.get $5 i32.add local.set $3 local.get $4 @@ -4604,10 +4604,10 @@ local.tee $8 i64.shr_u local.set $6 + local.get $8 local.get $0 local.tee $3 i64.extend_i32_s - local.get $8 i64.add global.set $~lib/util/string/__fixmulShift loop $for-loop|7 @@ -4677,10 +4677,10 @@ i64.mul local.set $12 i64.const 32 - local.get $8 local.get $6 i64.const 32 i64.shr_u + local.get $8 i64.mul local.get $12 i64.const 32 @@ -4838,6 +4838,7 @@ (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.const 20 i32.sub @@ -4847,8 +4848,7 @@ i32.and i32.const 16 i32.sub - local.get $1 - i32.ge_u + i32.le_u if local.get $3 local.get $1 @@ -4987,13 +4987,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -5022,13 +5022,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -5048,12 +5048,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -5063,12 +5063,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -5083,26 +5083,26 @@ i64.extend_i32_s local.set $5 local.get $3 + local.get $3 i32.const 1 i32.sub - local.get $3 i32.and if loop $do-loop|1 + local.get $0 local.get $2 i32.const 1 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 - local.get $5 local.get $1 local.get $5 i64.div_u local.tee $1 + local.get $5 i64.mul i64.sub i32.wrap_i64 @@ -5129,13 +5129,13 @@ i64.sub local.set $5 loop $do-loop|0 + local.get $0 local.get $2 i32.const 1 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 local.get $5 @@ -5165,13 +5165,13 @@ i64.const 100000000 i64.ge_u if + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 local.get $1 @@ -5205,13 +5205,13 @@ i64.shl i64.or i64.store + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 10000 @@ -5258,7 +5258,6 @@ local.get $0 i64.sub local.set $9 - local.get $1 i64.const 1 i32.const 0 local.get $2 @@ -5271,6 +5270,7 @@ i64.const 1 i64.sub local.tee $12 + local.get $1 i64.and local.set $7 local.get $1 @@ -5470,19 +5470,19 @@ i32.const 1 i32.sub local.set $2 - local.get $7 + local.get $3 local.get $5 i64.extend_i32_u local.get $10 i64.extend_i32_s i64.shl + local.get $7 i64.add local.tee $0 - local.get $3 - i64.le_u + i64.ge_u if - local.get $2 global.get $~lib/util/number/_K + local.get $2 i32.add global.set $~lib/util/number/_K local.get $2 @@ -5507,11 +5507,11 @@ local.get $0 local.get $9 i64.lt_u - local.get $1 local.get $3 local.get $0 i64.sub - i64.le_u + local.get $1 + i64.ge_u i32.and if (result i32) local.get $9 @@ -5593,20 +5593,21 @@ i32.const 1 i32.sub local.set $2 - local.get $3 local.get $0 local.get $12 i64.and local.tee $7 - i64.le_u + local.get $3 + i64.ge_u br_if $while-continue|4 end - local.get $2 global.get $~lib/util/number/_K + local.get $2 i32.add global.set $~lib/util/number/_K local.get $7 local.set $0 + local.get $9 i32.const 0 local.get $2 i32.sub @@ -5615,7 +5616,6 @@ i32.const 24064 i32.add i64.load32_u - local.get $9 i64.mul local.set $1 local.get $4 @@ -5630,11 +5630,11 @@ local.get $0 local.get $1 i64.lt_u - local.get $11 local.get $3 local.get $0 i64.sub - i64.le_u + local.get $11 + i64.ge_u i32.and if (result i32) local.get $1 @@ -5677,10 +5677,10 @@ local.get $2 i32.eqz if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.const 3145774 i32.store @@ -5705,10 +5705,10 @@ local.get $3 i32.lt_s if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.const 48 i32.store16 @@ -5719,10 +5719,10 @@ br $for-loop|0 end end + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add i32.const 3145774 i32.store @@ -5738,10 +5738,10 @@ i32.gt_s i32.and if (result i32) + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.tee $0 i32.const 2 @@ -5768,13 +5768,13 @@ i32.gt_s i32.and if (result i32) + local.get $0 i32.const 2 local.get $3 i32.sub local.tee $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $0 local.get $1 @@ -5791,10 +5791,10 @@ local.get $3 i32.lt_s if + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add i32.const 48 i32.store16 @@ -6103,9 +6103,9 @@ local.tee $0 i32.trunc_sat_f64_s local.tee $7 - local.get $0 local.get $7 f64.convert_i32_s + local.get $0 f64.ne i32.add i32.const 3 @@ -6160,11 +6160,11 @@ i64.const 4294967295 i64.and local.set $12 + local.get $10 local.get $3 i64.const 32 i64.shr_u local.tee $3 - local.get $10 i64.mul local.get $10 local.get $12 @@ -6178,11 +6178,11 @@ i64.const 4294967295 i64.and local.set $14 + local.get $10 local.get $13 i64.const 32 i64.shr_u local.tee $13 - local.get $10 i64.mul local.get $10 local.get $14 @@ -6196,11 +6196,11 @@ i32.shl i32.const 23136 i32.add - local.get $1 local.get $9 i64.const 32 i64.shr_u local.tee $9 + local.get $1 i64.mul local.get $11 i64.const 32 @@ -6240,8 +6240,8 @@ i64.const 1 i64.sub local.tee $1 - global.get $~lib/util/number/_exp_pow local.get $6 + global.get $~lib/util/number/_exp_pow i32.add i32.const -64 i32.sub @@ -6478,17 +6478,17 @@ local.tee $5 i32.store offset=8 local.get $5 + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u i32.store16 + local.get $4 local.get $3 i32.const 2 i32.shl - local.get $4 i32.add local.get $5 i32.store @@ -6541,10 +6541,10 @@ local.tee $7 i32.store offset=16 local.get $7 + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $10 memory.copy @@ -6559,11 +6559,11 @@ i32.const 1712 call $~lib/array/Array<~lib/string/String>#push end - local.get $2 local.get $4 i32.const 1 i32.add local.tee $4 + local.get $2 i32.eq br_if $folding-inner2 local.get $8 @@ -6598,10 +6598,10 @@ local.tee $2 i32.store offset=4 local.get $2 + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 memory.copy @@ -6821,10 +6821,10 @@ i32.const 56320 i32.ne br_if $__inlined_func$~lib/string/String#codePointAt - local.get $3 local.get $0 i32.const 10 i32.shl + local.get $3 i32.add i32.const 56613888 i32.sub @@ -8168,7 +8168,6 @@ i32.const 1712 i32.const 2147483647 call $~lib/string/String#lastIndexOf - local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $3 @@ -8179,7 +8178,6 @@ i32.load offset=16 i32.const 1 i32.shr_u - local.get $0 i32.ne if i32.const 0 @@ -20630,14 +20628,14 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if global.get $~lib/memory/__stack_pointer i32.const 4 @@ -20653,10 +20651,10 @@ local.tee $2 i32.store local.get $2 + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u i32.store16 @@ -20825,15 +20823,15 @@ local.get $1 i32.lt_s if + local.get $3 local.get $0 i32.const 1 i32.shl - local.get $3 i32.add + local.get $2 local.get $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.store16 @@ -20989,20 +20987,20 @@ call $~lib/rt/itcms/__new local.tee $7 i32.store - local.get $3 local.get $1 local.get $5 i32.sub local.tee $8 - i32.lt_u + local.get $3 + i32.gt_u if local.get $8 - local.get $3 local.get $8 i32.const 2 i32.sub local.get $3 i32.div_u + local.get $3 i32.mul local.tee $6 i32.sub @@ -21116,20 +21114,20 @@ local.get $0 local.get $4 memory.copy - local.get $3 local.get $1 local.get $4 i32.sub local.tee $0 - i32.lt_u + local.get $3 + i32.gt_u if local.get $0 - local.get $3 local.get $0 i32.const 2 i32.sub local.get $3 i32.div_u + local.get $3 i32.mul local.tee $5 i32.sub @@ -21158,10 +21156,10 @@ br $while-continue|0 end end - local.get $5 local.get $4 local.get $6 i32.add + local.get $5 i32.add local.get $2 local.get $7 @@ -21701,10 +21699,10 @@ return end i32.const 0 + local.get $1 local.get $3 i32.const 1 i32.shl - local.get $1 i32.eq local.get $2 select @@ -21888,11 +21886,11 @@ call $~lib/rt/itcms/__new local.tee $3 i32.store - local.get $1 local.get $4 i32.const 1 i32.shl local.tee $4 + local.get $1 i32.mul local.set $1 loop $while-continue|0 @@ -22023,19 +22021,19 @@ i32.const 1 i32.shl memory.copy + local.get $4 local.get $1 local.get $5 i32.add i32.const 1 i32.shl - local.get $4 i32.add + local.get $0 local.get $1 local.get $3 i32.add i32.const 1 i32.shl - local.get $0 i32.add local.get $6 local.get $1 @@ -22131,12 +22129,12 @@ i32.eqz br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 local.get $3 i32.const 1 i32.add + local.get $4 i32.mul - local.get $3 i32.add i32.const 1 i32.shl @@ -22157,25 +22155,25 @@ local.get $11 i32.gt_u if + local.get $5 local.get $1 i32.const 1 i32.shl - local.get $5 i32.add + local.get $0 local.get $11 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u i32.store16 + local.get $5 local.get $1 i32.const 1 i32.add local.tee $1 i32.const 1 i32.shl - local.get $5 i32.add local.get $2 local.get $4 @@ -22221,10 +22219,10 @@ i32.const -1 i32.xor if + local.get $5 local.get $3 i32.const 1 i32.shl - local.get $5 i32.add local.get $2 local.get $4 @@ -22273,16 +22271,16 @@ local.tee $11 i32.store offset=4 end - local.get $5 - local.get $4 - local.get $9 local.get $7 local.get $10 i32.sub local.tee $6 + local.get $9 i32.add + local.get $4 i32.add - i32.lt_u + local.get $5 + i32.gt_u if global.get $~lib/memory/__stack_pointer local.get $11 @@ -22296,27 +22294,27 @@ local.tee $11 i32.store offset=4 end + local.get $11 local.get $9 i32.const 1 i32.shl - local.get $11 i32.add + local.get $0 local.get $10 i32.const 1 i32.shl - local.get $0 i32.add local.get $6 i32.const 1 i32.shl memory.copy + local.get $11 local.get $6 local.get $9 i32.add local.tee $6 i32.const 1 i32.shl - local.get $11 i32.add local.get $2 local.get $4 @@ -22336,14 +22334,14 @@ end local.get $11 if - local.get $5 - local.get $9 local.get $3 local.get $10 i32.sub local.tee $1 + local.get $9 i32.add - i32.lt_u + local.get $5 + i32.gt_u if global.get $~lib/memory/__stack_pointer local.get $11 @@ -22359,27 +22357,27 @@ end local.get $1 if + local.get $11 local.get $9 i32.const 1 i32.shl - local.get $11 i32.add + local.get $0 local.get $10 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 1 i32.shl memory.copy end - local.get $5 local.get $1 local.get $9 i32.add local.tee $0 - i32.gt_u + local.get $5 + i32.lt_u if global.get $~lib/memory/__stack_pointer local.get $11 @@ -22505,10 +22503,10 @@ local.tee $3 i32.store local.get $3 + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.get $2 memory.copy @@ -22594,10 +22592,10 @@ local.tee $3 i32.store local.get $3 + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.get $2 memory.copy @@ -22689,10 +22687,10 @@ return end i32.const 0 + local.get $2 local.get $1 i32.const 1 i32.shl - local.get $2 i32.eq local.get $4 select @@ -22741,10 +22739,10 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1264 i32.const 15456 @@ -22847,7 +22845,6 @@ i32.eq if global.get $~lib/memory/__stack_pointer - local.get $3 local.get $8 i32.const 100000 i32.lt_u @@ -22897,6 +22894,7 @@ local.tee $1 i32.const 1 i32.shl + local.get $3 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -22914,7 +22912,6 @@ i32.eq if global.get $~lib/memory/__stack_pointer - local.get $3 i32.const 31 local.get $8 i32.clz @@ -22926,6 +22923,7 @@ local.tee $1 i32.const 1 i32.shl + local.get $3 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -22943,13 +22941,13 @@ i32.const 2 i32.ge_u if + local.get $7 local.get $1 i32.const 2 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $7 i32.add local.get $2 i32.wrap_i64 @@ -22984,7 +22982,6 @@ end else global.get $~lib/memory/__stack_pointer - local.get $3 block $__inlined_func$~lib/util/number/ulog_base (result i32) local.get $8 i64.extend_i32_u @@ -23058,6 +23055,7 @@ local.tee $7 i32.const 1 i32.shl + local.get $3 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -23224,13 +23222,13 @@ i32.const 2 i32.ge_u if + local.get $3 local.get $1 i32.const 2 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $3 i32.add local.get $2 i32.wrap_i64 @@ -23563,13 +23561,13 @@ i32.const 2 i32.ge_u if + local.get $3 local.get $1 i32.const 2 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $3 i32.add local.get $0 i32.wrap_i64 @@ -23764,7 +23762,6 @@ i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $4 local.get $0 i32.wrap_i64 local.tee $1 @@ -23816,6 +23813,7 @@ local.tee $7 i32.const 1 i32.shl + local.get $4 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -23829,7 +23827,6 @@ call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $4 local.get $0 i64.const 1000000000000000 i64.lt_u @@ -23883,6 +23880,7 @@ local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -23901,7 +23899,6 @@ i32.eq if global.get $~lib/memory/__stack_pointer - local.get $4 i32.const 63 local.get $0 i64.clz @@ -23914,6 +23911,7 @@ local.tee $1 i32.const 1 i32.shl + local.get $4 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -23928,13 +23926,13 @@ i32.const 2 i32.ge_u if + local.get $7 local.get $1 i32.const 2 i32.sub local.tee $1 i32.const 1 i32.shl - local.get $7 i32.add local.get $0 i32.wrap_i64 @@ -23969,7 +23967,6 @@ end else global.get $~lib/memory/__stack_pointer - local.get $4 block $__inlined_func$~lib/util/number/ulog_base (result i32) local.get $0 local.set $2 @@ -24041,6 +24038,7 @@ local.tee $7 i32.const 1 i32.shl + local.get $4 i32.add i32.const 1 call $~lib/rt/itcms/__new diff --git a/tests/compiler/std/symbol.release.wat b/tests/compiler/std/symbol.release.wat index d2f4b56baa..74e6063d0b 100644 --- a/tests/compiler/std/symbol.release.wat +++ b/tests/compiler/std/symbol.release.wat @@ -186,8 +186,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -247,11 +247,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -265,10 +265,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 2656 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1328 i32.const 1392 @@ -291,23 +291,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -410,37 +410,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -591,12 +591,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -657,14 +657,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -680,14 +680,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -699,10 +699,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -739,11 +739,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1472 @@ -752,10 +752,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -767,11 +767,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1472 @@ -810,10 +810,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -870,10 +870,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -934,25 +934,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1009,23 +1009,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1181,13 +1181,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1227,10 +1227,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1239,6 +1239,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1247,7 +1248,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1261,12 +1261,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1279,6 +1279,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1287,7 +1288,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1408,6 +1408,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1416,7 +1417,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1469,12 +1469,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1472 @@ -1512,16 +1512,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1565,19 +1565,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1641,44 +1641,44 @@ local.get $7 i32.le_u if + local.get $2 local.get $1 i32.load i32.const -2048144777 i32.mul - local.get $2 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $2 + local.get $4 local.get $1 i32.load offset=4 i32.const -2048144777 i32.mul - local.get $4 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $4 + local.get $6 local.get $1 i32.load offset=8 i32.const -2048144777 i32.mul - local.get $6 i32.add i32.const 13 i32.rotl i32.const -1640531535 i32.mul local.set $6 + local.get $5 local.get $1 i32.load offset=12 i32.const -2048144777 i32.mul - local.get $5 i32.add i32.const 13 i32.rotl @@ -1692,6 +1692,7 @@ br $while-continue|0 end end + local.get $3 local.get $2 i32.const 1 i32.rotl @@ -1707,7 +1708,6 @@ i32.const 18 i32.rotl i32.add - local.get $3 i32.add else local.get $3 @@ -1726,11 +1726,11 @@ local.get $4 i32.le_u if + local.get $2 local.get $1 i32.load i32.const -1028477379 i32.mul - local.get $2 i32.add i32.const 17 i32.rotl @@ -1753,11 +1753,11 @@ local.get $1 i32.gt_u if + local.get $2 local.get $1 i32.load8_u i32.const 374761393 i32.mul - local.get $2 i32.add i32.const 11 i32.rotl @@ -1772,9 +1772,9 @@ end end local.get $2 + local.get $2 i32.const 15 i32.shr_u - local.get $2 i32.xor i32.const -2048144777 i32.mul @@ -1963,9 +1963,9 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 i32.load + local.get $1 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -2230,9 +2230,9 @@ i32.store local.get $0 i32.load + local.get $1 local.get $0 i32.load offset=4 - local.get $1 i32.and i32.const 2 i32.shl @@ -2599,13 +2599,13 @@ i32.load offset=4 i32.store offset=4 local.get $0 + local.get $7 local.get $10 call $~lib/util/hash/HASH<~lib/string/String> local.get $6 i32.and i32.const 2 i32.shl - local.get $7 i32.add local.tee $10 i32.load @@ -2672,10 +2672,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $0 local.get $1 i32.const 12 i32.mul - local.get $0 i32.add local.tee $0 i32.const 1056 @@ -2696,9 +2696,9 @@ local.get $0 local.get $4 i32.load + local.get $5 local.get $4 i32.load offset=4 - local.get $5 i32.and i32.const 2 i32.shl @@ -2780,9 +2780,9 @@ if (result i32) i32.const 0 else - local.get $2 local.get $0 i32.load + local.get $2 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -2899,6 +2899,8 @@ i32.load offset=4 i32.store offset=4 local.get $0 + local.get $7 + local.get $6 local.get $10 i32.const -1028477379 i32.mul @@ -2927,11 +2929,9 @@ i32.shr_u local.get $10 i32.xor - local.get $6 i32.and i32.const 2 i32.shl - local.get $7 i32.add local.tee $10 i32.load @@ -2998,10 +2998,10 @@ i32.const 1 i32.add i32.store offset=16 + local.get $0 local.get $1 i32.const 12 i32.mul - local.get $0 i32.add local.tee $0 local.get $2 @@ -3022,9 +3022,9 @@ local.get $0 local.get $4 i32.load + local.get $5 local.get $4 i32.load offset=4 - local.get $5 i32.and i32.const 2 i32.shl @@ -3131,9 +3131,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/map/Map#find @@ -3349,9 +3349,9 @@ if (result i32) i32.const 0 else - local.get $0 local.get $1 i32.load + local.get $0 i32.eq end br_if $__inlined_func$~lib/map/Map#find diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index fbcca5eab6..8dfa871504 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -746,8 +746,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -807,11 +807,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -825,10 +825,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 16000 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1360 i32.const 1424 @@ -851,23 +851,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -970,37 +970,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -1151,12 +1151,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -1217,14 +1217,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -1240,14 +1240,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -1259,10 +1259,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -1299,11 +1299,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1504 @@ -1312,10 +1312,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -1327,11 +1327,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1504 @@ -1370,10 +1370,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -1430,10 +1430,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -1544,25 +1544,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1619,23 +1619,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1747,13 +1747,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1793,10 +1793,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1805,6 +1805,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1813,7 +1814,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1827,12 +1827,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1845,6 +1845,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1853,7 +1854,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1906,6 +1906,7 @@ i32.sub i32.ne i32.shl + local.get $3 i32.const 1 i32.const 27 local.get $3 @@ -1914,7 +1915,6 @@ i32.shl i32.const 1 i32.sub - local.get $3 i32.add local.get $3 local.get $3 @@ -1967,12 +1967,12 @@ unreachable end end + local.get $3 local.get $1 i32.load i32.const -4 i32.and - local.get $3 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1504 @@ -2010,16 +2010,16 @@ i32.ge_u if local.get $1 + local.get $3 local.get $4 i32.const 2 i32.and - local.get $3 i32.or i32.store - local.get $3 local.get $1 i32.const 4 i32.add + local.get $3 i32.add local.tee $3 local.get $2 @@ -2134,19 +2134,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -2210,9 +2210,9 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 - local.get $0 i32.ne if i32.const 0 @@ -2222,9 +2222,9 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 - local.get $0 i32.ne if i32.const 0 @@ -2252,9 +2252,9 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 - local.get $0 i32.ne if i32.const 0 @@ -2264,9 +2264,9 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 - local.get $0 i32.ne if i32.const 0 @@ -2294,9 +2294,9 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 - local.get $0 i32.ne if i32.const 0 @@ -2306,9 +2306,9 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 - local.get $0 i32.ne if i32.const 0 @@ -2350,11 +2350,11 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 i32.const 1 i32.shr_u - local.get $0 i32.ne if i32.const 0 @@ -2396,11 +2396,11 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 i32.const 1 i32.shr_u - local.get $0 i32.ne if i32.const 0 @@ -2442,11 +2442,11 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.get $0 i32.ne if i32.const 0 @@ -2488,11 +2488,11 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.get $0 i32.ne if i32.const 0 @@ -2534,11 +2534,11 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.get $0 i32.ne if i32.const 0 @@ -2580,11 +2580,11 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.get $0 i32.ne if i32.const 0 @@ -2626,11 +2626,11 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.get $0 i32.ne if i32.const 0 @@ -2672,11 +2672,11 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.get $0 i32.ne if i32.const 0 @@ -2692,12 +2692,12 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Int32Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -2716,12 +2716,12 @@ i32.store ) (func $~lib/typedarray/Int32Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -2739,12 +2739,12 @@ i32.load ) (func $~lib/typedarray/Float64Array#__set (param $0 i32) (param $1 i32) (param $2 f64) + local.get $1 local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -2767,6 +2767,7 @@ (local $6 f64) (local $7 i32) (local $8 f64) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -2784,7 +2785,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -2792,10 +2792,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 3 i32.shl - local.get $0 i32.add local.tee $3 f64.load offset=8 @@ -2829,10 +2829,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add f64.load local.set $8 @@ -2846,10 +2846,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $8 f64.store offset=16 @@ -2861,10 +2861,10 @@ end end end + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $5 f64.store offset=16 @@ -2874,10 +2874,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add f64.load local.set $5 @@ -2891,10 +2891,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $5 f64.store offset=8 @@ -2906,10 +2906,10 @@ end end end + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $6 f64.store offset=8 @@ -2933,19 +2933,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add f64.load + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 3 i32.shl - local.get $0 i32.add f64.load i32.const 2 @@ -2961,10 +2961,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 3 i32.shl - local.get $0 i32.add local.tee $6 f64.load offset=8 @@ -2995,19 +2995,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.tee $3 f64.load local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 3 i32.shl - local.get $0 i32.add local.tee $3 f64.load @@ -3032,10 +3032,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 3 i32.shl - local.get $0 i32.add local.tee $1 f64.load offset=8 @@ -3068,11 +3068,11 @@ (local $8 f64) (local $9 i32) (local $10 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $9 local.get $6 @@ -3084,7 +3084,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -3092,6 +3091,7 @@ i32.const 3 i32.shl local.tee $10 + local.get $4 i32.add local.get $0 local.get $10 @@ -3106,17 +3106,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $9 local.get $6 i32.sub i32.const 3 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 3 i32.shl - local.get $0 i32.add f64.load offset=8 f64.store @@ -3132,17 +3132,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 3 i32.shl - local.get $4 i32.add f64.load local.set $7 + local.get $4 local.get $2 i32.const 3 i32.shl - local.get $4 i32.add f64.load local.set $8 @@ -3156,10 +3156,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.get $7 f64.store @@ -3168,10 +3168,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.get $8 f64.store @@ -3331,13 +3331,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $9 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -3345,10 +3345,10 @@ local.get $6 i32.lt_u if + local.get $10 local.get $5 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -3469,10 +3469,10 @@ local.get $7 i32.gt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $16 @@ -3481,11 +3481,11 @@ if local.get $0 local.get $16 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -3509,11 +3509,11 @@ br $for-loop|3 end end - local.get $10 local.get $7 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -3534,10 +3534,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -3546,10 +3546,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -3601,12 +3601,12 @@ i32.sub ) (func $~lib/typedarray/Float64Array#__get (param $0 i32) (param $1 i32) (result f64) + local.get $1 local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -3624,10 +3624,10 @@ f64.load ) (func $~lib/typedarray/Uint8ClampedArray#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 i32.load offset=8 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -3636,16 +3636,16 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add - local.get $2 i32.const 255 local.get $2 i32.sub i32.const 31 i32.shr_s + local.get $2 i32.or local.get $2 i32.const 31 @@ -3656,10 +3656,10 @@ i32.store8 ) (func $~lib/typedarray/Uint8ClampedArray#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=8 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -3668,17 +3668,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_u ) (func $~lib/typedarray/Int8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 i32.load offset=8 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -3687,18 +3687,18 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add local.get $2 i32.store8 ) (func $~lib/typedarray/Int8Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=8 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -3707,9 +3707,9 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_s ) @@ -3737,11 +3737,10 @@ local.get $0 local.get $2 call $~lib/typedarray/Int8Array#__get - local.set $4 + local.get $2 local.get $1 i32.load offset=12 - local.get $2 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1760 @@ -3750,12 +3749,11 @@ call $~lib/builtins/abort unreachable end - local.get $2 local.get $1 i32.load offset=4 + local.get $2 i32.add i32.load8_s - local.get $4 i32.ne if i32.const 0 @@ -3839,10 +3837,10 @@ local.get $1 i32.gt_s if + local.get $5 local.get $1 i32.const 2 i32.shl - local.get $5 i32.add local.get $4 local.get $0 @@ -3859,10 +3857,10 @@ local.get $1 i32.gt_s if + local.get $5 local.get $1 i32.const 2 i32.shl - local.get $5 i32.add local.get $4 i32.store @@ -3876,10 +3874,10 @@ end ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=12 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1760 @@ -3982,6 +3980,7 @@ i32.const 2 i32.shl i32.add + local.get $3 local.get $2 i32.const 0 i32.lt_s @@ -4006,7 +4005,6 @@ local.tee $2 i32.const 2 i32.shl - local.get $3 i32.add local.get $5 i32.const 0 @@ -4051,10 +4049,10 @@ i32.add ) (func $~lib/typedarray/Uint8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 i32.load offset=8 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4063,20 +4061,20 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add local.get $2 i32.store8 ) (func $~lib/typedarray/Int16Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4095,12 +4093,12 @@ i32.store16 ) (func $~lib/typedarray/Uint16Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4119,12 +4117,12 @@ i32.store16 ) (func $~lib/typedarray/Uint32Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4143,12 +4141,12 @@ i32.store ) (func $~lib/typedarray/Int64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + local.get $1 local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4172,12 +4170,12 @@ i64.add ) (func $~lib/typedarray/Uint64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + local.get $1 local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4196,12 +4194,12 @@ i64.store ) (func $~lib/typedarray/Float32Array#__set (param $0 i32) (param $1 i32) (param $2 f32) + local.get $1 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4231,6 +4229,7 @@ ) (func $~lib/typedarray/Int8Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.load offset=8 @@ -4239,7 +4238,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -4252,14 +4250,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_s ) (func $~lib/typedarray/Uint8Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.load offset=8 @@ -4268,7 +4267,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -4281,14 +4279,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_u ) (func $~lib/typedarray/Uint8ClampedArray#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.load offset=8 @@ -4297,7 +4296,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -4310,14 +4308,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_u ) (func $~lib/typedarray/Int16Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.load offset=8 @@ -4328,7 +4327,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -4351,6 +4349,7 @@ ) (func $~lib/typedarray/Uint16Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.load offset=8 @@ -4361,7 +4360,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -4384,6 +4382,7 @@ ) (func $~lib/typedarray/Int32Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.load offset=8 @@ -4394,7 +4393,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -4417,6 +4415,7 @@ ) (func $~lib/typedarray/Uint32Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.load offset=8 @@ -4427,7 +4426,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -4450,6 +4448,7 @@ ) (func $~lib/typedarray/Int64Array#at (param $0 i32) (param $1 i32) (result i64) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.load offset=8 @@ -4460,7 +4459,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -4483,6 +4481,7 @@ ) (func $~lib/typedarray/Uint64Array#at (param $0 i32) (param $1 i32) (result i64) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.load offset=8 @@ -4493,7 +4492,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -4516,6 +4514,7 @@ ) (func $~lib/typedarray/Float32Array#at (param $0 i32) (param $1 i32) (result f32) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.load offset=8 @@ -4526,7 +4525,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -4549,6 +4547,7 @@ ) (func $~lib/typedarray/Float64Array#at (param $0 i32) (param $1 i32) (result f64) (local $2 i32) + local.get $1 i32.const 0 local.get $0 i32.load offset=8 @@ -4559,7 +4558,6 @@ i32.const 0 i32.ge_s select - local.get $1 i32.add local.tee $1 local.get $2 @@ -4586,10 +4584,10 @@ i32.mul ) (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=8 - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4598,19 +4596,19 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 i32.load offset=4 + local.get $1 i32.add i32.load8_u ) (func $~lib/typedarray/Int16Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4628,12 +4626,12 @@ i32.load16_s ) (func $~lib/typedarray/Uint16Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4651,12 +4649,12 @@ i32.load16_u ) (func $~lib/typedarray/Uint32Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4679,12 +4677,12 @@ i64.mul ) (func $~lib/typedarray/Int64Array#__get (param $0 i32) (param $1 i32) (result i64) + local.get $1 local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4702,12 +4700,12 @@ i64.load ) (func $~lib/typedarray/Uint64Array#__get (param $0 i32) (param $1 i32) (result i64) + local.get $1 local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4730,12 +4728,12 @@ f32.mul ) (func $~lib/typedarray/Float32Array#__get (param $0 i32) (param $1 i32) (result f32) + local.get $1 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.get $1 - i32.le_u + i32.ge_u if i32.const 1360 i32.const 1632 @@ -4766,6 +4764,7 @@ (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.const 20 i32.sub @@ -4775,8 +4774,7 @@ i32.and i32.const 16 i32.sub - local.get $1 - i32.ge_u + i32.le_u if local.get $3 local.get $1 @@ -5290,11 +5288,11 @@ i32.sub local.set $5 loop $while-continue|0 - local.get $4 local.get $2 i32.const 7 i32.add - i32.gt_u + local.get $4 + i32.lt_u if local.get $0 local.get $2 @@ -5384,10 +5382,10 @@ i32.load8_u local.set $6 local.get $5 + local.get $0 local.get $1 local.get $2 i32.sub - local.get $0 i32.add local.tee $5 i32.load8_u @@ -5432,18 +5430,18 @@ i32.sub local.set $5 loop $while-continue|0 - local.get $3 local.get $1 i32.const 1 i32.add - i32.gt_u + local.get $3 + i32.lt_u if + local.get $2 local.get $5 local.get $1 i32.sub i32.const 1 i32.shl - local.get $2 i32.add local.tee $6 i32.load @@ -5451,10 +5449,10 @@ i32.rotr local.set $7 local.get $6 + local.get $2 local.get $1 i32.const 1 i32.shl - local.get $2 i32.add local.tee $6 i32.load @@ -5480,21 +5478,21 @@ local.get $3 i32.lt_u if + local.get $2 local.get $1 i32.const 1 i32.shl - local.get $2 i32.add local.tee $5 i32.load16_u local.set $6 local.get $5 + local.get $2 local.get $4 local.get $1 i32.sub i32.const 1 i32.shl - local.get $2 i32.add local.tee $5 i32.load16_u @@ -5589,9 +5587,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.eqz @@ -5637,9 +5635,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 11 @@ -5688,9 +5686,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 255 @@ -5739,9 +5737,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -5790,9 +5788,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -5841,9 +5839,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -5892,9 +5890,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -5943,9 +5941,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 1 @@ -6245,9 +6243,9 @@ i32.const 0 i32.ge_s if - local.get $3 local.get $0 local.tee $1 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -6299,9 +6297,9 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -6353,9 +6351,9 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -6407,9 +6405,9 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -6461,9 +6459,9 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 1 @@ -6615,9 +6613,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 3 @@ -6666,9 +6664,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 4 @@ -6715,9 +6713,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 5 @@ -6766,9 +6764,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 9 @@ -6817,9 +6815,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 10 @@ -6868,9 +6866,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 11 @@ -6919,9 +6917,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 5 @@ -6970,9 +6968,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 5 @@ -7082,9 +7080,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.eqz @@ -7130,9 +7128,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 11 @@ -7181,9 +7179,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 255 @@ -7232,9 +7230,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -7283,9 +7281,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -7334,9 +7332,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -7385,9 +7383,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -7436,9 +7434,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 1 @@ -7738,9 +7736,9 @@ i32.const 0 i32.ge_s if - local.get $3 local.get $0 local.tee $1 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -7792,9 +7790,9 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -7846,9 +7844,9 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -7900,9 +7898,9 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -7954,9 +7952,9 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 1 @@ -8107,9 +8105,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 3 @@ -8158,9 +8156,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 4 @@ -8207,9 +8205,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 5 @@ -8258,9 +8256,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 9 @@ -8309,9 +8307,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 10 @@ -8360,9 +8358,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 11 @@ -8411,9 +8409,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 5 @@ -8462,9 +8460,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 5 @@ -8574,9 +8572,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.eqz @@ -8622,9 +8620,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 11 @@ -8673,9 +8671,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 255 @@ -8724,9 +8722,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -8775,9 +8773,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -8826,9 +8824,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -8877,9 +8875,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -8928,9 +8926,9 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 1 @@ -9230,9 +9228,9 @@ i32.const 0 i32.ge_s if - local.get $3 local.get $0 local.tee $1 + local.get $3 i32.add i32.load8_u i32.const 3 @@ -9284,9 +9282,9 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -9338,9 +9336,9 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -9392,9 +9390,9 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 3 @@ -9446,9 +9444,9 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 - local.get $3 i32.add i32.load8_u i32.const 1 @@ -9599,9 +9597,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 3 @@ -9650,9 +9648,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 4 @@ -9699,9 +9697,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 5 @@ -9750,9 +9748,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 9 @@ -9801,9 +9799,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 10 @@ -9852,9 +9850,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 11 @@ -9903,9 +9901,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 5 @@ -9954,9 +9952,9 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 - local.get $2 i32.add i32.load8_u i32.const 5 @@ -10020,9 +10018,6 @@ drop local.get $1 local.set $2 - local.get $3 - local.get $4 - i32.add local.get $4 i32.const 1 i32.sub @@ -10031,10 +10026,6 @@ local.get $4 i32.ge_s select - local.get $3 - i32.const 0 - i32.lt_u - select local.set $1 local.get $0 i32.load offset=4 @@ -10045,10 +10036,10 @@ i32.ge_s if local.get $1 + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u local.get $2 @@ -10132,9 +10123,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 local.get $4 @@ -10145,11 +10133,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.eqz @@ -10183,9 +10171,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.01 local.get $4 @@ -10196,11 +10181,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 11 @@ -10237,9 +10222,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.04 local.get $4 @@ -10250,11 +10232,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 65535 @@ -10291,9 +10273,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.07 local.get $4 @@ -10304,11 +10283,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -10359,11 +10338,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -10414,11 +10393,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -10469,11 +10448,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -10524,11 +10503,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 1 @@ -10587,10 +10566,10 @@ local.get $2 i32.lt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.load16_u i32.const 1 @@ -10702,11 +10681,11 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -10760,11 +10739,11 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -10818,11 +10797,11 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -10876,11 +10855,11 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 1 @@ -10929,10 +10908,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.load16_u i32.const 1 @@ -10981,10 +10960,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.load16_u i32.const 1 @@ -11027,9 +11006,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.041 local.get $4 @@ -11040,11 +11016,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -11081,9 +11057,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.044 local.get $4 @@ -11094,11 +11067,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 4 @@ -11133,9 +11106,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.047 local.get $4 @@ -11146,11 +11116,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 5 @@ -11187,9 +11157,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.050 local.get $4 @@ -11200,11 +11167,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 9 @@ -11241,9 +11208,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.053 local.get $4 @@ -11254,11 +11218,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 10 @@ -11295,9 +11259,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.056 local.get $4 @@ -11308,11 +11269,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 11 @@ -11363,11 +11324,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 5 @@ -11418,11 +11379,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 5 @@ -11520,9 +11481,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 local.get $4 @@ -11533,11 +11491,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.eqz @@ -11571,9 +11529,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.01 local.get $4 @@ -11584,11 +11539,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 11 @@ -11625,9 +11580,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.04 local.get $4 @@ -11638,11 +11590,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 65535 @@ -11679,9 +11631,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.07 local.get $4 @@ -11692,11 +11641,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -11747,11 +11696,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -11802,11 +11751,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -11857,11 +11806,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -11912,11 +11861,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 1 @@ -11975,10 +11924,10 @@ local.get $2 i32.lt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.load16_u i32.const 1 @@ -12090,11 +12039,11 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -12148,11 +12097,11 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -12206,11 +12155,11 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -12264,11 +12213,11 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 1 @@ -12317,10 +12266,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.load16_u i32.const 1 @@ -12369,10 +12318,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.load16_u i32.const 1 @@ -12415,9 +12364,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.041 local.get $4 @@ -12428,11 +12374,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -12469,9 +12415,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.044 local.get $4 @@ -12482,11 +12425,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 4 @@ -12521,9 +12464,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.047 local.get $4 @@ -12534,11 +12474,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 5 @@ -12575,9 +12515,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.050 local.get $4 @@ -12588,11 +12525,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 9 @@ -12629,9 +12566,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.053 local.get $4 @@ -12642,11 +12576,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 10 @@ -12683,9 +12617,6 @@ i32.const 1 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.056 local.get $4 @@ -12696,11 +12627,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 11 @@ -12751,11 +12682,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 5 @@ -12806,11 +12737,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 5 @@ -12864,28 +12795,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 i64.const 0 i64.store - local.get $3 + local.get $2 i32.const 0 i32.store offset=8 - local.get $3 + local.get $2 i32.const 7728 i32.store - local.get $3 + local.get $2 i32.const 7740 i32.load - local.tee $2 - call $~lib/typedarray/Int32Array#constructor local.tee $3 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 i32.store offset=4 loop $for-loop|0 local.get $0 - local.get $2 + local.get $3 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -12901,26 +12832,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|0 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.eqz @@ -12949,26 +12880,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.01 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.01 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|02 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 11 @@ -13000,26 +12931,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.04 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.04 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|05 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const -1 @@ -13051,26 +12982,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.07 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.07 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|08 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -13102,7 +13033,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.010 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -13113,19 +13044,19 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.010 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|011 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -13157,7 +13088,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.013 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -13168,19 +13099,19 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.013 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|014 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -13212,7 +13143,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.016 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -13223,19 +13154,19 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.016 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|017 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -13267,7 +13198,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -13278,19 +13209,19 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|020 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 1 @@ -13320,18 +13251,18 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.022 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.const -100 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.022 - local.get $2 + local.get $3 i32.const 100 i32.sub local.tee $1 @@ -13341,18 +13272,18 @@ i32.gt_s select local.set $1 - local.get $3 + local.get $2 i32.load offset=4 local.set $0 loop $while-continue|023 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load i32.const 1 @@ -13381,14 +13312,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $3 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) i32.const -1 - local.get $3 + local.get $2 local.tee $1 i32.load offset=8 i32.const 2 @@ -13400,9 +13331,9 @@ local.get $0 i32.const 1 i32.sub - local.get $2 + local.get $3 local.get $0 - local.get $2 + local.get $3 i32.le_s select local.set $0 @@ -13415,10 +13346,10 @@ i32.ge_s if local.get $0 + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.eqz @@ -13443,14 +13374,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $3 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.05 (result i32) i32.const -1 - local.get $3 + local.get $2 local.tee $1 i32.load offset=8 i32.const 2 @@ -13462,9 +13393,9 @@ local.get $0 i32.const 1 i32.sub - local.get $2 + local.get $3 local.get $0 - local.get $2 + local.get $3 i32.le_s select local.set $0 @@ -13477,10 +13408,10 @@ i32.ge_s if local.get $0 + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const 11 @@ -13508,14 +13439,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $3 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.011 (result i32) i32.const -1 - local.get $3 + local.get $2 local.tee $1 i32.load offset=8 i32.const 2 @@ -13527,9 +13458,9 @@ local.get $0 i32.const 1 i32.sub - local.get $2 + local.get $3 local.get $0 - local.get $2 + local.get $3 i32.le_s select local.set $0 @@ -13542,10 +13473,10 @@ i32.ge_s if local.get $0 + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const -1 @@ -13573,14 +13504,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $3 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.017 (result i32) i32.const -1 - local.get $3 + local.get $2 local.tee $1 i32.load offset=8 i32.const 2 @@ -13592,9 +13523,9 @@ local.get $0 i32.const 1 i32.sub - local.get $2 + local.get $3 local.get $0 - local.get $2 + local.get $3 i32.le_s select local.set $0 @@ -13607,10 +13538,10 @@ i32.ge_s if local.get $0 + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const 3 @@ -13639,7 +13570,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -13655,19 +13586,19 @@ i32.le_s select local.set $1 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|024 local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -13697,7 +13628,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.026 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -13713,19 +13644,19 @@ i32.le_s select local.set $1 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|027 local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -13755,7 +13686,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.029 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -13771,19 +13702,19 @@ i32.le_s select local.set $1 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|030 local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -13813,7 +13744,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.032 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -13829,19 +13760,19 @@ i32.le_s select local.set $1 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|033 local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 1 @@ -13871,7 +13802,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.035 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -13882,7 +13813,7 @@ i32.const 10 i32.sub local.set $1 - local.get $3 + local.get $2 i32.load offset=4 local.set $0 loop $while-continue|036 @@ -13890,10 +13821,10 @@ i32.const 0 i32.ge_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load i32.const 1 @@ -13923,7 +13854,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.038 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -13934,7 +13865,7 @@ i32.const 11 i32.sub local.set $1 - local.get $3 + local.get $2 i32.load offset=4 local.set $0 loop $while-continue|039 @@ -13942,10 +13873,10 @@ i32.const 0 i32.ge_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load i32.const 1 @@ -13973,7 +13904,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 4 i32.const 9 call $~lib/typedarray/Int32Array#subarray @@ -13988,22 +13919,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.041 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|042 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 3 @@ -14039,22 +13970,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.044 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|045 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 4 @@ -14088,22 +14019,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.047 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|048 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 5 @@ -14139,22 +14070,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.050 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|051 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 9 @@ -14190,22 +14121,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.053 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|054 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 10 @@ -14241,22 +14172,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.056 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|057 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 11 @@ -14292,26 +14223,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.const 1 i32.le_u i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.059 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|060 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 5 @@ -14347,26 +14278,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.const 2 i32.le_u i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.062 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|063 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 5 @@ -14420,28 +14351,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 i64.const 0 i64.store - local.get $3 + local.get $2 i32.const 0 i32.store offset=8 - local.get $3 + local.get $2 i32.const 7728 i32.store - local.get $3 + local.get $2 i32.const 7740 i32.load - local.tee $2 - call $~lib/typedarray/Uint32Array#constructor local.tee $3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $2 i32.store offset=4 loop $for-loop|0 local.get $0 - local.get $2 + local.get $3 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -14457,26 +14388,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|0 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.eqz @@ -14505,26 +14436,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.01 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.01 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|02 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 11 @@ -14556,26 +14487,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.04 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.04 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|05 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const -1 @@ -14607,26 +14538,26 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.07 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u local.tee $4 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.07 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|08 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -14658,7 +14589,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.010 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -14669,19 +14600,19 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.010 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|011 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -14713,7 +14644,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.013 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -14724,19 +14655,19 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.013 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|014 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -14768,7 +14699,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.016 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -14779,19 +14710,19 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.016 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|017 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -14823,7 +14754,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -14834,19 +14765,19 @@ local.get $4 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|020 local.get $1 local.get $4 i32.lt_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 1 @@ -14876,18 +14807,18 @@ i32.const -1 local.set $1 block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.022 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.const -100 i32.le_s i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.022 - local.get $2 + local.get $3 i32.const 100 i32.sub local.tee $1 @@ -14897,18 +14828,18 @@ i32.gt_s select local.set $1 - local.get $3 + local.get $2 i32.load offset=4 local.set $0 loop $while-continue|023 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load i32.const 1 @@ -14937,14 +14868,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $3 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) i32.const -1 - local.get $3 + local.get $2 local.tee $1 i32.load offset=8 i32.const 2 @@ -14956,9 +14887,9 @@ local.get $0 i32.const 1 i32.sub - local.get $2 + local.get $3 local.get $0 - local.get $2 + local.get $3 i32.le_s select local.set $0 @@ -14971,10 +14902,10 @@ i32.ge_s if local.get $0 + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.eqz @@ -14999,14 +14930,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $3 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.05 (result i32) i32.const -1 - local.get $3 + local.get $2 local.tee $1 i32.load offset=8 i32.const 2 @@ -15018,9 +14949,9 @@ local.get $0 i32.const 1 i32.sub - local.get $2 + local.get $3 local.get $0 - local.get $2 + local.get $3 i32.le_s select local.set $0 @@ -15033,10 +14964,10 @@ i32.ge_s if local.get $0 + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const 11 @@ -15064,14 +14995,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $3 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.011 (result i32) i32.const -1 - local.get $3 + local.get $2 local.tee $1 i32.load offset=8 i32.const 2 @@ -15083,9 +15014,9 @@ local.get $0 i32.const 1 i32.sub - local.get $2 + local.get $3 local.get $0 - local.get $2 + local.get $3 i32.le_s select local.set $0 @@ -15098,10 +15029,10 @@ i32.ge_s if local.get $0 + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const -1 @@ -15129,14 +15060,14 @@ end i32.const 1 global.set $~argumentsLength - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u - local.set $2 + local.set $3 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.017 (result i32) i32.const -1 - local.get $3 + local.get $2 local.tee $1 i32.load offset=8 i32.const 2 @@ -15148,9 +15079,9 @@ local.get $0 i32.const 1 i32.sub - local.get $2 + local.get $3 local.get $0 - local.get $2 + local.get $3 i32.le_s select local.set $0 @@ -15163,10 +15094,10 @@ i32.ge_s if local.get $0 + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add i32.load i32.const 3 @@ -15195,7 +15126,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15211,19 +15142,19 @@ i32.le_s select local.set $1 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|024 local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -15253,7 +15184,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.026 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15269,19 +15200,19 @@ i32.le_s select local.set $1 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|027 local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -15311,7 +15242,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.029 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15327,19 +15258,19 @@ i32.le_s select local.set $1 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|030 local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -15369,7 +15300,7 @@ i32.const -1 local.set $0 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.032 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15385,19 +15316,19 @@ i32.le_s select local.set $1 - local.get $3 + local.get $2 i32.load offset=4 - local.set $2 + local.set $3 loop $while-continue|033 local.get $1 i32.const 0 i32.ge_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 1 @@ -15427,7 +15358,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.035 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15438,7 +15369,7 @@ i32.const 10 i32.sub local.set $1 - local.get $3 + local.get $2 i32.load offset=4 local.set $0 loop $while-continue|036 @@ -15446,10 +15377,10 @@ i32.const 0 i32.ge_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load i32.const 1 @@ -15479,7 +15410,7 @@ i32.const -1 local.set $1 block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.038 - local.get $3 + local.get $2 i32.load offset=8 i32.const 2 i32.shr_u @@ -15490,7 +15421,7 @@ i32.const 11 i32.sub local.set $1 - local.get $3 + local.get $2 i32.load offset=4 local.set $0 loop $while-continue|039 @@ -15498,10 +15429,10 @@ i32.const 0 i32.ge_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load i32.const 1 @@ -15529,7 +15460,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.const 9 call $~lib/typedarray/Uint32Array#subarray local.tee $4 @@ -15543,22 +15474,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.041 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|042 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 3 @@ -15594,22 +15525,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.044 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|045 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 4 @@ -15643,22 +15574,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.047 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|048 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 5 @@ -15694,22 +15625,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.050 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|051 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 9 @@ -15745,22 +15676,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.053 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|054 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 10 @@ -15796,22 +15727,22 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.056 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|057 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 11 @@ -15847,26 +15778,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.const 1 i32.le_u i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.059 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|060 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 5 @@ -15902,26 +15833,26 @@ i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 + local.tee $3 i32.const 2 i32.le_u i32.const 1 - local.get $2 + local.get $3 select br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.062 local.get $4 i32.load offset=4 - local.set $3 + local.set $2 loop $while-continue|063 local.get $1 - local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 5 @@ -16028,11 +15959,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.eqz @@ -16076,11 +16007,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 11 @@ -16127,11 +16058,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const -1 @@ -16178,11 +16109,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -16233,11 +16164,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -16288,11 +16219,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -16343,11 +16274,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -16398,11 +16329,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 1 @@ -16461,10 +16392,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 3 i32.shl - local.get $1 i32.add i64.load i64.const 1 @@ -16533,10 +16464,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.eqz @@ -16591,10 +16522,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 11 @@ -16652,10 +16583,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const -1 @@ -16724,11 +16655,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $1 local.tee $0 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -16782,11 +16713,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -16840,11 +16771,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -16898,11 +16829,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -16956,11 +16887,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 1 @@ -17009,10 +16940,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 3 i32.shl - local.get $1 i32.add i64.load i64.const 1 @@ -17061,10 +16992,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 3 i32.shl - local.get $1 i32.add i64.load i64.const 1 @@ -17117,11 +17048,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 3 @@ -17168,11 +17099,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 4 @@ -17217,11 +17148,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 5 @@ -17268,11 +17199,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 9 @@ -17319,11 +17250,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 10 @@ -17370,11 +17301,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 11 @@ -17425,11 +17356,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 5 @@ -17480,11 +17411,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 5 @@ -17591,11 +17522,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.eqz @@ -17639,11 +17570,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 11 @@ -17690,11 +17621,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const -1 @@ -17741,11 +17672,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -17796,11 +17727,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -17851,11 +17782,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -17906,11 +17837,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -17961,11 +17892,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 1 @@ -18024,10 +17955,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 3 i32.shl - local.get $1 i32.add i64.load i64.const 1 @@ -18096,10 +18027,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.eqz @@ -18154,10 +18085,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 11 @@ -18215,10 +18146,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const -1 @@ -18287,11 +18218,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $1 local.tee $0 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -18345,11 +18276,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -18403,11 +18334,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -18461,11 +18392,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 3 @@ -18519,11 +18450,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.const 1 @@ -18572,10 +18503,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 3 i32.shl - local.get $1 i32.add i64.load i64.const 1 @@ -18624,10 +18555,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 3 i32.shl - local.get $1 i32.add i64.load i64.const 1 @@ -18680,11 +18611,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 3 @@ -18731,11 +18662,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 4 @@ -18780,11 +18711,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 5 @@ -18831,11 +18762,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 9 @@ -18882,11 +18813,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 10 @@ -18933,11 +18864,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 11 @@ -18988,11 +18919,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 5 @@ -19043,11 +18974,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load i64.const 5 @@ -19154,11 +19085,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const 0 @@ -19203,11 +19134,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const 11 @@ -19254,11 +19185,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const -1 @@ -19305,11 +19236,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const 3 @@ -19360,11 +19291,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const 3 @@ -19415,11 +19346,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const 3 @@ -19470,11 +19401,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const 3 @@ -19525,11 +19456,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const 1 @@ -19588,10 +19519,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add f32.load f32.const 1 @@ -19660,10 +19591,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load f32.const 0 @@ -19719,10 +19650,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load f32.const 11 @@ -19780,10 +19711,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load f32.const -1 @@ -19852,11 +19783,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $1 local.tee $0 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const 3 @@ -19910,11 +19841,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const 3 @@ -19968,11 +19899,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const 3 @@ -20026,11 +19957,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const 3 @@ -20084,11 +20015,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load f32.const 1 @@ -20137,10 +20068,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add f32.load f32.const 1 @@ -20189,10 +20120,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add f32.load f32.const 1 @@ -20245,11 +20176,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load f32.const 3 @@ -20296,11 +20227,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load f32.const 4 @@ -20345,11 +20276,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load f32.const 5 @@ -20396,11 +20327,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load f32.const 9 @@ -20447,11 +20378,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load f32.const 10 @@ -20498,11 +20429,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load f32.const 11 @@ -20553,11 +20484,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load f32.const 5 @@ -20608,11 +20539,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load f32.const 5 @@ -20719,11 +20650,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const 0 @@ -20768,11 +20699,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const 11 @@ -20819,11 +20750,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const -1 @@ -20870,11 +20801,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const 3 @@ -20925,11 +20856,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const 3 @@ -20980,11 +20911,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const 3 @@ -21035,11 +20966,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const 3 @@ -21090,11 +21021,11 @@ local.get $4 i32.lt_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const 1 @@ -21153,10 +21084,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 3 i32.shl - local.get $1 i32.add f64.load f64.const 1 @@ -21225,10 +21156,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load f64.const 0 @@ -21284,10 +21215,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load f64.const 11 @@ -21345,10 +21276,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load f64.const -1 @@ -21417,11 +21348,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $1 local.tee $0 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const 3 @@ -21475,11 +21406,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const 3 @@ -21533,11 +21464,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const 3 @@ -21591,11 +21522,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const 3 @@ -21649,11 +21580,11 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load f64.const 1 @@ -21702,10 +21633,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 3 i32.shl - local.get $1 i32.add f64.load f64.const 1 @@ -21754,10 +21685,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $0 i32.const 3 i32.shl - local.get $1 i32.add f64.load f64.const 1 @@ -21811,11 +21742,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load f64.const 3 @@ -21862,11 +21793,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load f64.const 4 @@ -21911,11 +21842,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load f64.const 5 @@ -21962,11 +21893,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load f64.const 9 @@ -22013,11 +21944,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load f64.const 10 @@ -22064,11 +21995,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load f64.const 11 @@ -22119,11 +22050,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load f64.const 5 @@ -22174,11 +22105,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load f64.const 5 @@ -22225,13 +22156,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -22260,13 +22191,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -22286,12 +22217,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -22301,12 +22232,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -22343,10 +22274,10 @@ i32.sub local.set $1 end + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add local.set $3 local.get $1 @@ -22483,7 +22414,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $2 i32.const 9580 i32.load i32.const 1 @@ -22491,6 +22421,7 @@ local.tee $4 i32.const 11 i32.add + local.get $2 i32.mul i32.const 11 i32.add @@ -22508,10 +22439,10 @@ local.get $5 i32.gt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add local.get $3 local.get $5 @@ -22523,10 +22454,10 @@ local.set $0 local.get $4 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9584 local.get $4 @@ -22545,11 +22476,10 @@ br $for-loop|0 end end - local.get $6 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add local.get $2 local.get $3 @@ -22559,7 +22489,8 @@ local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $6 + i32.lt_s if local.get $1 local.get $0 @@ -22832,7 +22763,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $2 i32.const 9580 i32.load i32.const 1 @@ -22840,6 +22770,7 @@ local.tee $4 i32.const 10 i32.add + local.get $2 i32.mul i32.const 10 i32.add @@ -22857,10 +22788,10 @@ local.get $5 i32.gt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add local.get $3 local.get $5 @@ -22872,10 +22803,10 @@ local.set $0 local.get $4 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9584 local.get $4 @@ -22894,11 +22825,10 @@ br $for-loop|0 end end - local.get $6 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add local.get $2 local.get $3 @@ -22908,7 +22838,8 @@ local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $6 + i32.lt_s if local.get $1 local.get $0 @@ -22961,10 +22892,10 @@ i32.sub local.set $1 end + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add local.set $3 local.get $1 @@ -23103,7 +23034,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $2 i32.const 9580 i32.load i32.const 1 @@ -23111,6 +23041,7 @@ local.tee $4 i32.const 11 i32.add + local.get $2 i32.mul i32.const 11 i32.add @@ -23128,15 +23059,15 @@ local.get $5 i32.gt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $5 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s call $~lib/util/number/itoa_buffered @@ -23145,10 +23076,10 @@ local.set $0 local.get $4 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9584 local.get $4 @@ -23167,23 +23098,23 @@ br $for-loop|0 end end - local.get $6 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $2 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $6 + i32.lt_s if local.get $1 local.get $0 @@ -23341,7 +23272,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $2 i32.const 9580 i32.load i32.const 1 @@ -23349,6 +23279,7 @@ local.tee $4 i32.const 10 i32.add + local.get $2 i32.mul i32.const 10 i32.add @@ -23366,15 +23297,15 @@ local.get $5 i32.gt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $5 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_u call $~lib/util/number/itoa_buffered @@ -23383,10 +23314,10 @@ local.set $0 local.get $4 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9584 local.get $4 @@ -23405,23 +23336,23 @@ br $for-loop|0 end end - local.get $6 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $2 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_u call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $6 + i32.lt_s if local.get $1 local.get $0 @@ -23457,10 +23388,10 @@ i32.sub local.set $1 end + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add local.set $0 local.get $1 @@ -23594,7 +23525,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $2 i32.const 9580 i32.load i32.const 1 @@ -23602,6 +23532,7 @@ local.tee $4 i32.const 11 i32.add + local.get $2 i32.mul i32.const 11 i32.add @@ -23619,15 +23550,15 @@ local.get $5 i32.gt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $5 i32.const 2 i32.shl - local.get $3 i32.add i32.load call $~lib/util/number/itoa_buffered @@ -23636,10 +23567,10 @@ local.set $0 local.get $4 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9584 local.get $4 @@ -23658,23 +23589,23 @@ br $for-loop|0 end end - local.get $6 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $2 i32.const 2 i32.shl - local.get $3 i32.add i32.load call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $6 + i32.lt_s if local.get $1 local.get $0 @@ -23823,7 +23754,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $2 i32.const 9580 i32.load i32.const 1 @@ -23831,6 +23761,7 @@ local.tee $4 i32.const 10 i32.add + local.get $2 i32.mul i32.const 10 i32.add @@ -23848,15 +23779,15 @@ local.get $5 i32.gt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $5 i32.const 2 i32.shl - local.get $3 i32.add i32.load call $~lib/util/number/itoa_buffered @@ -23865,10 +23796,10 @@ local.set $0 local.get $4 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9584 local.get $4 @@ -23887,23 +23818,23 @@ br $for-loop|0 end end - local.get $6 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $2 i32.const 2 i32.shl - local.get $3 i32.add i32.load call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $6 + i32.lt_s if local.get $1 local.get $0 @@ -23932,13 +23863,13 @@ i64.const 100000000 i64.ge_u if + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 local.get $1 @@ -23972,13 +23903,13 @@ i64.shl i64.or i64.store + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 10000 @@ -24029,10 +23960,10 @@ i64.sub local.set $1 end + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.set $4 local.get $1 @@ -24256,7 +24187,6 @@ i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $1 local.get $2 i32.wrap_i64 local.tee $3 @@ -24308,6 +24238,7 @@ local.tee $4 i32.const 1 i32.shl + local.get $1 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -24321,7 +24252,6 @@ call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $1 local.get $2 i64.const 1000000000000000 i64.lt_u @@ -24375,6 +24305,7 @@ local.tee $3 i32.const 1 i32.shl + local.get $1 i32.add i32.const 1 call $~lib/rt/itcms/__new @@ -24407,7 +24338,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $6 i32.const 9580 i32.load i32.const 1 @@ -24415,6 +24345,7 @@ local.tee $7 i32.const 21 i32.add + local.get $6 i32.mul i32.const 21 i32.add @@ -24432,15 +24363,15 @@ local.get $6 i32.lt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $5 local.get $3 i32.const 3 i32.shl - local.get $5 i32.add i64.load call $~lib/util/number/itoa_buffered @@ -24449,10 +24380,10 @@ local.set $0 local.get $7 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9584 local.get $7 @@ -24471,23 +24402,23 @@ br $for-loop|0 end end - local.get $4 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $5 local.get $6 i32.const 3 i32.shl - local.get $5 i32.add i64.load call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $4 + i32.lt_s if local.get $1 local.get $0 @@ -24862,7 +24793,6 @@ br $__inlined_func$~lib/util/string/joinIntegerArray end global.get $~lib/memory/__stack_pointer - local.get $6 i32.const 9580 i32.load i32.const 1 @@ -24870,6 +24800,7 @@ local.tee $3 i32.const 20 i32.add + local.get $6 i32.mul i32.const 20 i32.add @@ -24887,15 +24818,15 @@ local.get $6 i32.lt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $7 local.get $4 i32.const 3 i32.shl - local.get $7 i32.add i64.load call $~lib/util/number/itoa_buffered @@ -24904,10 +24835,10 @@ local.set $0 local.get $3 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9584 local.get $3 @@ -24926,23 +24857,23 @@ br $for-loop|0 end end - local.get $5 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $7 local.get $6 i32.const 3 i32.shl - local.get $7 i32.add i64.load call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $5 + i32.lt_s if local.get $1 local.get $0 @@ -24984,7 +24915,6 @@ local.get $1 i64.sub local.set $12 - local.get $2 i64.const 1 i32.const 0 local.get $3 @@ -24997,6 +24927,7 @@ i64.const 1 i64.sub local.tee $11 + local.get $2 i64.and local.set $7 local.get $2 @@ -25180,10 +25111,10 @@ i32.const 1 i32.add local.set $5 + local.get $0 local.get $8 i32.const 1 i32.shl - local.get $0 i32.add local.get $6 i32.const 65535 @@ -25196,19 +25127,19 @@ i32.const 1 i32.sub local.set $9 - local.get $4 - local.get $7 local.get $3 i64.extend_i32_u local.get $10 i64.extend_i32_s i64.shl + local.get $7 i64.add local.tee $1 - i64.ge_u + local.get $4 + i64.le_u if - local.get $9 global.get $~lib/util/number/_K + local.get $9 i32.add global.set $~lib/util/number/_K local.get $9 @@ -25221,12 +25152,12 @@ i64.extend_i32_s i64.shl local.set $2 + local.get $0 local.get $5 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.tee $0 i32.load16_u @@ -25235,11 +25166,11 @@ local.get $1 local.get $12 i64.lt_u - local.get $2 local.get $4 local.get $1 i64.sub - i64.le_u + local.get $2 + i64.ge_u i32.and if (result i32) local.get $12 @@ -25304,10 +25235,10 @@ i32.const 1 i32.add local.set $5 + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $2 i32.wrap_i64 @@ -25321,19 +25252,20 @@ i32.const 1 i32.sub local.set $9 + local.get $4 local.get $1 local.get $11 i64.and local.tee $7 - local.get $4 - i64.ge_u + i64.le_u br_if $while-continue|4 - local.get $9 global.get $~lib/util/number/_K + local.get $9 i32.add global.set $~lib/util/number/_K local.get $7 local.set $1 + local.get $12 i32.const 0 local.get $9 i32.sub @@ -25342,15 +25274,14 @@ i32.const 10736 i32.add i64.load32_u - local.get $12 i64.mul local.set $2 + local.get $0 local.get $5 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.tee $0 i32.load16_u @@ -25359,11 +25290,11 @@ local.get $1 local.get $2 i64.lt_u - local.get $13 local.get $4 local.get $1 i64.sub - i64.le_u + local.get $13 + i64.ge_u i32.and if (result i32) local.get $2 @@ -25407,10 +25338,10 @@ local.get $2 i32.eqz if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.const 3145774 i32.store @@ -25435,10 +25366,10 @@ local.get $3 i32.lt_s if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.const 48 i32.store16 @@ -25449,10 +25380,10 @@ br $for-loop|0 end end + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add i32.const 3145774 i32.store @@ -25468,10 +25399,10 @@ i32.gt_s i32.and if (result i32) + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.tee $0 i32.const 2 @@ -25498,13 +25429,13 @@ i32.gt_s i32.and if (result i32) + local.get $0 i32.const 2 local.get $3 i32.sub local.tee $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $0 local.get $1 @@ -25521,10 +25452,10 @@ local.get $3 i32.lt_s if + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add i32.const 48 i32.store16 @@ -25833,9 +25764,9 @@ local.tee $1 i32.trunc_sat_f64_s local.tee $8 - local.get $1 local.get $8 f64.convert_i32_s + local.get $1 f64.ne i32.add i32.const 3 @@ -25890,11 +25821,11 @@ i64.const 4294967295 i64.and local.set $13 + local.get $11 local.get $2 i64.const 32 i64.shr_u local.tee $6 - local.get $11 i64.mul local.get $11 local.get $13 @@ -25908,11 +25839,11 @@ i64.const 4294967295 i64.and local.set $2 + local.get $11 local.get $15 i64.const 32 i64.shr_u local.tee $15 - local.get $11 i64.mul local.get $2 local.get $11 @@ -25921,11 +25852,11 @@ i64.shr_u i64.add local.set $11 - local.get $6 local.get $10 i64.const 32 i64.shr_u local.tee $10 + local.get $6 i64.mul local.get $14 i64.const 32 @@ -25946,10 +25877,10 @@ i64.const 1 i64.sub local.set $6 + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $0 local.get $4 @@ -25972,8 +25903,8 @@ i64.shr_u i64.add local.get $6 - global.get $~lib/util/number/_exp_pow local.get $7 + global.get $~lib/util/number/_exp_pow i32.add i32.const -64 i32.sub @@ -26143,7 +26074,6 @@ br $__inlined_func$~lib/util/string/joinFloatArray end global.get $~lib/memory/__stack_pointer - local.get $2 i32.const 9580 i32.load i32.const 1 @@ -26151,6 +26081,7 @@ local.tee $4 i32.const 28 i32.add + local.get $2 i32.mul i32.const 28 i32.add @@ -26168,15 +26099,15 @@ local.get $5 i32.gt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $5 i32.const 2 i32.shl - local.get $3 i32.add f32.load f64.promote_f32 @@ -26186,10 +26117,10 @@ local.set $0 local.get $4 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9584 local.get $4 @@ -26208,16 +26139,15 @@ br $for-loop|0 end end - local.get $6 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $2 i32.const 2 i32.shl - local.get $3 i32.add f32.load f64.promote_f32 @@ -26225,7 +26155,8 @@ local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $6 + i32.lt_s if local.get $1 local.get $0 @@ -26309,7 +26240,6 @@ br $__inlined_func$~lib/util/string/joinFloatArray end global.get $~lib/memory/__stack_pointer - local.get $2 i32.const 9580 i32.load i32.const 1 @@ -26317,6 +26247,7 @@ local.tee $4 i32.const 28 i32.add + local.get $2 i32.mul i32.const 28 i32.add @@ -26334,15 +26265,15 @@ local.get $5 i32.gt_s if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $5 i32.const 3 i32.shl - local.get $3 i32.add f64.load call $~lib/util/number/dtoa_buffered @@ -26351,10 +26282,10 @@ local.set $0 local.get $4 if + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add i32.const 9584 local.get $4 @@ -26373,23 +26304,23 @@ br $for-loop|0 end end - local.get $6 + local.get $1 local.get $0 i32.const 1 i32.shl - local.get $1 i32.add + local.get $3 local.get $2 i32.const 3 i32.shl - local.get $3 i32.add f64.load call $~lib/util/number/dtoa_buffered local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $6 + i32.lt_s if local.get $1 local.get $0 @@ -26448,13 +26379,13 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.const 20 i32.sub i32.load offset=16 local.tee $3 - i32.gt_u + local.get $1 + i32.lt_u if i32.const 1360 i32.const 1632 @@ -26484,11 +26415,11 @@ end local.set $2 else - local.get $3 local.get $1 local.get $2 i32.add - i32.lt_s + local.get $3 + i32.gt_s if i32.const 1056 i32.const 1632 @@ -26561,10 +26492,10 @@ local.get $1 local.get $2 i32.add + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.store8 @@ -26617,10 +26548,10 @@ local.get $0 local.get $2 i32.add + local.get $3 local.get $2 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.store8 @@ -26695,10 +26626,10 @@ local.get $0 local.get $2 i32.add + local.get $3 local.get $2 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s i32.store8 @@ -26753,11 +26684,11 @@ end local.get $0 i32.load offset=8 - local.get $2 local.get $1 i32.load offset=8 i32.const 3 i32.shr_u + local.get $2 i32.add i32.lt_s if @@ -26768,9 +26699,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 local.get $0 i32.load offset=4 + local.get $2 i32.add local.set $2 local.get $1 @@ -26789,10 +26720,10 @@ local.get $2 local.get $3 i32.add + local.get $5 local.get $3 i32.const 3 i32.shl - local.get $5 i32.add i64.load local.tee $4 @@ -26803,13 +26734,13 @@ i32.const -1 i32.xor i64.extend_i32_s - local.get $4 i32.const 255 local.get $0 i32.sub i32.const 31 i32.shr_s i64.extend_i32_s + local.get $4 i64.or i64.and i64.store8 @@ -26837,11 +26768,11 @@ end local.get $0 i32.load offset=8 - local.get $2 local.get $1 i32.load offset=8 i32.const 1 i32.shr_u + local.get $2 i32.add i32.lt_s if @@ -26852,9 +26783,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 local.get $0 i32.load offset=4 + local.get $2 i32.add local.set $2 local.get $1 @@ -26873,10 +26804,10 @@ local.get $2 local.get $3 i32.add + local.get $4 local.get $3 i32.const 1 i32.shl - local.get $4 i32.add i32.load16_s local.tee $0 @@ -26934,15 +26865,15 @@ local.get $1 i32.gt_s if + local.get $2 local.get $1 i32.const 1 i32.shl - local.get $2 i32.add + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.store16 @@ -26994,15 +26925,15 @@ local.get $2 i32.gt_s if + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add + local.get $3 local.get $2 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.store16 @@ -27046,10 +26977,10 @@ local.get $2 i32.gt_s if + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $2 local.get $3 @@ -27131,10 +27062,10 @@ local.get $1 i32.gt_s if + local.get $2 local.get $1 i32.const 1 i32.shl - local.get $2 i32.add local.get $1 local.get $3 @@ -27161,9 +27092,9 @@ call $~lib/builtins/abort unreachable end - local.get $2 local.get $1 i32.load offset=12 + local.get $2 i32.add local.get $0 i32.load offset=8 @@ -27230,15 +27161,15 @@ local.get $2 i32.gt_s if + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add + local.get $3 local.get $2 i32.const 3 i32.shl - local.get $3 i32.add i64.load i64.store32 @@ -27282,10 +27213,10 @@ local.get $2 i32.gt_s if + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add local.get $2 local.get $3 @@ -27340,15 +27271,15 @@ local.get $2 i32.gt_s if + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add + local.get $3 local.get $2 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s i32.store @@ -27397,10 +27328,10 @@ local.get $1 i32.gt_s if + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add local.get $1 local.get $3 @@ -27448,15 +27379,15 @@ local.get $1 i32.gt_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add i64.load32_s i64.store @@ -27530,10 +27461,10 @@ local.get $2 i32.gt_s if + local.get $0 local.get $2 i32.const 3 i32.shl - local.get $0 i32.add local.get $2 local.get $3 @@ -27588,15 +27519,15 @@ local.get $2 i32.gt_s if + local.get $0 local.get $2 i32.const 3 i32.shl - local.get $0 i32.add + local.get $3 local.get $2 i32.const 1 i32.shl - local.get $3 i32.add i64.load16_s i64.store @@ -27645,10 +27576,10 @@ local.get $1 i32.gt_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add local.get $1 local.get $3 @@ -27668,6 +27599,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -27685,7 +27617,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -27823,11 +27754,11 @@ local.get $1 i32.add i32.load8_s - local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 + local.get $0 i32.add i32.load8_s i32.const 2 @@ -27940,11 +27871,11 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $7 local.get $6 @@ -27956,11 +27887,11 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub local.tee $2 + local.get $4 i32.add local.get $0 local.get $2 @@ -27975,10 +27906,10 @@ local.get $6 i32.gt_s if + local.get $4 local.get $7 local.get $6 i32.sub - local.get $4 i32.add local.get $0 local.get $6 @@ -28185,13 +28116,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -28199,10 +28130,10 @@ local.get $8 i32.lt_u if + local.get $10 local.get $6 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -28321,10 +28252,10 @@ local.get $4 i32.lt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $8 @@ -28333,11 +28264,11 @@ if local.get $0 local.get $8 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -28361,11 +28292,11 @@ br $for-loop|3 end end - local.get $10 local.get $1 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -28386,10 +28317,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -28398,10 +28329,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -28448,6 +28379,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -28465,7 +28397,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -28603,11 +28534,11 @@ local.get $1 i32.add i32.load8_u - local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 + local.get $0 i32.add i32.load8_u i32.const 2 @@ -28720,11 +28651,11 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $7 local.get $6 @@ -28736,11 +28667,11 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub local.tee $2 + local.get $4 i32.add local.get $0 local.get $2 @@ -28755,10 +28686,10 @@ local.get $6 i32.gt_s if + local.get $4 local.get $7 local.get $6 i32.sub - local.get $4 i32.add local.get $0 local.get $6 @@ -28965,13 +28896,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -28979,10 +28910,10 @@ local.get $8 i32.lt_u if + local.get $10 local.get $6 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -29101,10 +29032,10 @@ local.get $4 i32.lt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $8 @@ -29113,11 +29044,11 @@ if local.get $0 local.get $8 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -29141,11 +29072,11 @@ br $for-loop|3 end end - local.get $10 local.get $1 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -29166,10 +29097,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -29178,10 +29109,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -29238,6 +29169,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -29255,7 +29187,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -29263,10 +29194,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 1 i32.shl - local.get $0 i32.add local.tee $3 i32.load16_s offset=2 @@ -29300,10 +29231,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_s local.set $8 @@ -29317,10 +29248,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add local.get $8 i32.store16 offset=4 @@ -29332,10 +29263,10 @@ end end end + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.store16 offset=4 @@ -29345,10 +29276,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_s local.set $3 @@ -29362,10 +29293,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.store16 offset=2 @@ -29377,10 +29308,10 @@ end end end + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add local.get $5 i32.store16 offset=2 @@ -29403,19 +29334,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_s + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_s i32.const 2 @@ -29431,10 +29362,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 1 i32.shl - local.get $0 i32.add local.tee $5 i32.load16_s offset=2 @@ -29465,19 +29396,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.tee $3 i32.load16_s local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add local.tee $3 i32.load16_s @@ -29502,10 +29433,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 1 i32.shl - local.get $0 i32.add local.tee $1 i32.load16_s offset=2 @@ -29536,11 +29467,11 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $7 local.get $6 @@ -29552,7 +29483,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -29560,6 +29490,7 @@ i32.const 1 i32.shl local.tee $8 + local.get $4 i32.add local.get $0 local.get $8 @@ -29574,17 +29505,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $7 local.get $6 i32.sub i32.const 1 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_s offset=2 i32.store16 @@ -29600,17 +29531,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 1 i32.shl - local.get $4 i32.add i32.load16_s local.set $7 + local.get $4 local.get $2 i32.const 1 i32.shl - local.get $4 i32.add i32.load16_s local.set $8 @@ -29624,10 +29555,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.get $7 i32.store16 @@ -29636,10 +29567,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.get $8 i32.store16 @@ -29796,13 +29727,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -29810,10 +29741,10 @@ local.get $8 i32.lt_u if + local.get $10 local.get $6 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -29934,10 +29865,10 @@ local.get $4 i32.lt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $8 @@ -29946,11 +29877,11 @@ if local.get $0 local.get $8 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -29974,11 +29905,11 @@ br $for-loop|3 end end - local.get $10 local.get $1 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -29999,10 +29930,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -30011,10 +29942,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -30061,6 +29992,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -30078,7 +30010,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -30086,10 +30017,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 1 i32.shl - local.get $0 i32.add local.tee $3 i32.load16_u offset=2 @@ -30123,10 +30054,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u local.set $8 @@ -30140,10 +30071,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add local.get $8 i32.store16 offset=4 @@ -30155,10 +30086,10 @@ end end end + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.store16 offset=4 @@ -30168,10 +30099,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u local.set $3 @@ -30185,10 +30116,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.store16 offset=2 @@ -30200,10 +30131,10 @@ end end end + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add local.get $5 i32.store16 offset=2 @@ -30226,19 +30157,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u i32.const 2 @@ -30254,10 +30185,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 1 i32.shl - local.get $0 i32.add local.tee $5 i32.load16_u offset=2 @@ -30288,19 +30219,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.tee $3 i32.load16_u local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add local.tee $3 i32.load16_u @@ -30325,10 +30256,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 1 i32.shl - local.get $0 i32.add local.tee $1 i32.load16_u offset=2 @@ -30359,11 +30290,11 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $7 local.get $6 @@ -30375,7 +30306,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -30383,6 +30313,7 @@ i32.const 1 i32.shl local.tee $8 + local.get $4 i32.add local.get $0 local.get $8 @@ -30397,17 +30328,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $7 local.get $6 i32.sub i32.const 1 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u offset=2 i32.store16 @@ -30423,17 +30354,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 1 i32.shl - local.get $4 i32.add i32.load16_u local.set $7 + local.get $4 local.get $2 i32.const 1 i32.shl - local.get $4 i32.add i32.load16_u local.set $8 @@ -30447,10 +30378,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.get $7 i32.store16 @@ -30459,10 +30390,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.get $8 i32.store16 @@ -30619,13 +30550,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -30633,10 +30564,10 @@ local.get $8 i32.lt_u if + local.get $10 local.get $6 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -30757,10 +30688,10 @@ local.get $4 i32.lt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $8 @@ -30769,11 +30700,11 @@ if local.get $0 local.get $8 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -30797,11 +30728,11 @@ br $for-loop|3 end end - local.get $10 local.get $1 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -30822,10 +30753,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -30834,10 +30765,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -30894,6 +30825,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -30911,7 +30843,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -30919,10 +30850,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load offset=4 @@ -30956,10 +30887,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.set $8 @@ -30973,10 +30904,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 i32.store offset=8 @@ -30988,10 +30919,10 @@ end end end + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $3 i32.store offset=8 @@ -31001,10 +30932,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.set $3 @@ -31018,10 +30949,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $3 i32.store offset=4 @@ -31033,10 +30964,10 @@ end end end + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=4 @@ -31059,19 +30990,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 2 i32.shl - local.get $0 i32.add i32.load i32.const 2 @@ -31087,10 +31018,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $5 i32.load offset=4 @@ -31121,19 +31052,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load @@ -31158,10 +31089,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -31192,11 +31123,11 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $7 local.get $6 @@ -31208,7 +31139,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -31216,6 +31146,7 @@ i32.const 2 i32.shl local.tee $8 + local.get $4 i32.add local.get $0 local.get $8 @@ -31230,17 +31161,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $7 local.get $6 i32.sub i32.const 2 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.store @@ -31256,17 +31187,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.set $7 + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.set $8 @@ -31280,10 +31211,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $7 i32.store @@ -31292,10 +31223,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 i32.store @@ -31452,13 +31383,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -31466,10 +31397,10 @@ local.get $8 i32.lt_u if + local.get $10 local.get $6 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -31590,10 +31521,10 @@ local.get $4 i32.lt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $8 @@ -31602,11 +31533,11 @@ if local.get $0 local.get $8 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -31630,11 +31561,11 @@ br $for-loop|3 end end - local.get $10 local.get $1 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -31655,10 +31586,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -31667,10 +31598,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -31711,6 +31642,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -31728,7 +31660,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -31736,10 +31667,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load offset=4 @@ -31773,10 +31704,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.set $8 @@ -31790,10 +31721,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 i32.store offset=8 @@ -31805,10 +31736,10 @@ end end end + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $3 i32.store offset=8 @@ -31818,10 +31749,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.set $3 @@ -31835,10 +31766,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $3 i32.store offset=4 @@ -31850,10 +31781,10 @@ end end end + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=4 @@ -31876,19 +31807,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 2 i32.shl - local.get $0 i32.add i32.load i32.const 2 @@ -31904,10 +31835,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $5 i32.load offset=4 @@ -31938,19 +31869,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 i32.load @@ -31975,10 +31906,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -32009,11 +31940,11 @@ (local $6 i32) (local $7 i32) (local $8 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $7 local.get $6 @@ -32025,7 +31956,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -32033,6 +31963,7 @@ i32.const 2 i32.shl local.tee $8 + local.get $4 i32.add local.get $0 local.get $8 @@ -32047,17 +31978,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $7 local.get $6 i32.sub i32.const 2 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.store @@ -32073,17 +32004,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.set $7 + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.set $8 @@ -32097,10 +32028,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $7 i32.store @@ -32109,10 +32040,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 i32.store @@ -32269,13 +32200,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -32283,10 +32214,10 @@ local.get $8 i32.lt_u if + local.get $10 local.get $6 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -32407,10 +32338,10 @@ local.get $4 i32.lt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $8 @@ -32419,11 +32350,11 @@ if local.get $0 local.get $8 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -32447,11 +32378,11 @@ br $for-loop|3 end end - local.get $10 local.get $1 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -32472,10 +32403,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -32484,10 +32415,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -32532,6 +32463,7 @@ (local $6 i64) (local $7 i32) (local $8 i64) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -32549,7 +32481,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -32557,10 +32488,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 3 i32.shl - local.get $0 i32.add local.tee $3 i64.load offset=8 @@ -32594,10 +32525,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add i64.load local.set $8 @@ -32611,10 +32542,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $8 i64.store offset=16 @@ -32626,10 +32557,10 @@ end end end + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $5 i64.store offset=16 @@ -32639,10 +32570,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add i64.load local.set $5 @@ -32656,10 +32587,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $5 i64.store offset=8 @@ -32671,10 +32602,10 @@ end end end + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $6 i64.store offset=8 @@ -32698,19 +32629,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add i64.load + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 3 i32.shl - local.get $0 i32.add i64.load i32.const 2 @@ -32726,10 +32657,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 3 i32.shl - local.get $0 i32.add local.tee $6 i64.load offset=8 @@ -32760,19 +32691,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.tee $3 i64.load local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 3 i32.shl - local.get $0 i32.add local.tee $3 i64.load @@ -32797,10 +32728,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 3 i32.shl - local.get $0 i32.add local.tee $1 i64.load offset=8 @@ -32833,11 +32764,11 @@ (local $8 i64) (local $9 i32) (local $10 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $9 local.get $6 @@ -32849,7 +32780,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -32857,6 +32787,7 @@ i32.const 3 i32.shl local.tee $10 + local.get $4 i32.add local.get $0 local.get $10 @@ -32871,17 +32802,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $9 local.get $6 i32.sub i32.const 3 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 3 i32.shl - local.get $0 i32.add i64.load offset=8 i64.store @@ -32897,17 +32828,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 3 i32.shl - local.get $4 i32.add i64.load local.set $7 + local.get $4 local.get $2 i32.const 3 i32.shl - local.get $4 i32.add i64.load local.set $8 @@ -32921,10 +32852,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.get $7 i64.store @@ -32933,10 +32864,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.get $8 i64.store @@ -33095,13 +33026,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $9 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -33109,10 +33040,10 @@ local.get $6 i32.lt_u if + local.get $10 local.get $5 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -33233,10 +33164,10 @@ local.get $7 i32.gt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $15 @@ -33245,11 +33176,11 @@ if local.get $0 local.get $15 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -33273,11 +33204,11 @@ br $for-loop|3 end end - local.get $10 local.get $7 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -33298,10 +33229,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -33310,10 +33241,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -33358,6 +33289,7 @@ (local $6 i64) (local $7 i32) (local $8 i64) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -33375,7 +33307,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -33383,10 +33314,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 3 i32.shl - local.get $0 i32.add local.tee $3 i64.load offset=8 @@ -33420,10 +33351,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add i64.load local.set $8 @@ -33437,10 +33368,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $8 i64.store offset=16 @@ -33452,10 +33383,10 @@ end end end + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $5 i64.store offset=16 @@ -33465,10 +33396,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add i64.load local.set $5 @@ -33482,10 +33413,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $5 i64.store offset=8 @@ -33497,10 +33428,10 @@ end end end + local.get $0 local.get $3 i32.const 3 i32.shl - local.get $0 i32.add local.get $6 i64.store offset=8 @@ -33524,19 +33455,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add i64.load + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 3 i32.shl - local.get $0 i32.add i64.load i32.const 2 @@ -33552,10 +33483,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 3 i32.shl - local.get $0 i32.add local.tee $6 i64.load offset=8 @@ -33586,19 +33517,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.tee $3 i64.load local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 3 i32.shl - local.get $0 i32.add local.tee $3 i64.load @@ -33623,10 +33554,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 3 i32.shl - local.get $0 i32.add local.tee $1 i64.load offset=8 @@ -33659,11 +33590,11 @@ (local $8 i64) (local $9 i32) (local $10 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $9 local.get $6 @@ -33675,7 +33606,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -33683,6 +33613,7 @@ i32.const 3 i32.shl local.tee $10 + local.get $4 i32.add local.get $0 local.get $10 @@ -33697,17 +33628,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $9 local.get $6 i32.sub i32.const 3 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 3 i32.shl - local.get $0 i32.add i64.load offset=8 i64.store @@ -33723,17 +33654,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 3 i32.shl - local.get $4 i32.add i64.load local.set $7 + local.get $4 local.get $2 i32.const 3 i32.shl - local.get $4 i32.add i64.load local.set $8 @@ -33747,10 +33678,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.get $7 i64.store @@ -33759,10 +33690,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 3 i32.shl - local.get $0 i32.add local.get $8 i64.store @@ -33921,13 +33852,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $9 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -33935,10 +33866,10 @@ local.get $6 i32.lt_u if + local.get $10 local.get $5 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -34059,10 +33990,10 @@ local.get $7 i32.gt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $15 @@ -34071,11 +34002,11 @@ if local.get $0 local.get $15 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -34099,11 +34030,11 @@ br $for-loop|3 end end - local.get $10 local.get $7 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -34124,10 +34055,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -34136,10 +34067,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -34184,6 +34115,7 @@ (local $6 f32) (local $7 i32) (local $8 f32) + local.get $1 local.get $3 local.get $2 local.get $1 @@ -34201,7 +34133,6 @@ i32.and local.get $3 select - local.get $1 i32.add local.set $7 loop $for-loop|0 @@ -34209,10 +34140,10 @@ local.get $7 i32.ge_s if + local.get $0 local.get $7 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 f32.load offset=4 @@ -34246,10 +34177,10 @@ i32.le_s if block $while-break|1 + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add f32.load local.set $8 @@ -34263,10 +34194,10 @@ i32.const 0 i32.le_s br_if $while-break|1 + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 f32.store offset=8 @@ -34278,10 +34209,10 @@ end end end + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.get $5 f32.store offset=8 @@ -34291,10 +34222,10 @@ i32.le_s if block $while-break|2 + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add f32.load local.set $5 @@ -34308,10 +34239,10 @@ i32.const 0 i32.le_s br_if $while-break|2 + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.get $5 f32.store offset=4 @@ -34323,10 +34254,10 @@ end end end + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.get $6 f32.store offset=4 @@ -34350,19 +34281,19 @@ local.get $1 return end + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add f32.load + local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 i32.const 2 i32.shl - local.get $0 i32.add f32.load i32.const 2 @@ -34378,10 +34309,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $6 f32.load offset=4 @@ -34412,19 +34343,19 @@ local.get $2 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 f32.load local.set $5 local.get $3 + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add local.tee $3 f32.load @@ -34449,10 +34380,10 @@ local.get $4 i32.gt_s if (result i32) + local.get $0 local.get $4 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 f32.load offset=4 @@ -34485,11 +34416,11 @@ (local $8 f32) (local $9 i32) (local $10 i32) - local.get $3 local.get $2 i32.const 1 i32.sub local.tee $6 + local.get $3 i32.add local.set $9 local.get $6 @@ -34501,7 +34432,6 @@ local.get $2 i32.lt_s if - local.get $4 local.get $2 i32.const 1 i32.sub @@ -34509,6 +34439,7 @@ i32.const 2 i32.shl local.tee $10 + local.get $4 i32.add local.get $0 local.get $10 @@ -34523,17 +34454,17 @@ local.get $6 i32.gt_s if + local.get $4 local.get $9 local.get $6 i32.sub i32.const 2 i32.shl - local.get $4 i32.add + local.get $0 local.get $6 i32.const 2 i32.shl - local.get $0 i32.add f32.load offset=4 f32.store @@ -34549,17 +34480,17 @@ local.get $3 i32.le_s if + local.get $4 local.get $6 i32.const 2 i32.shl - local.get $4 i32.add f32.load local.set $7 + local.get $4 local.get $2 i32.const 2 i32.shl - local.get $4 i32.add f32.load local.set $8 @@ -34573,10 +34504,10 @@ i32.const 0 i32.lt_s if + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $7 f32.store @@ -34585,10 +34516,10 @@ i32.sub local.set $6 else + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $8 f32.store @@ -34748,13 +34679,13 @@ if call $~lib/rt/tlsf/initialize end + local.get $7 global.get $~lib/rt/tlsf/ROOT local.get $9 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add local.tee $10 - local.get $7 i32.add local.set $11 loop $for-loop|1 @@ -34762,10 +34693,10 @@ local.get $6 i32.lt_u if + local.get $10 local.get $5 i32.const 2 i32.shl - local.get $10 i32.add i32.const -1 i32.store @@ -34886,10 +34817,10 @@ local.get $7 i32.gt_u if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $16 @@ -34898,11 +34829,11 @@ if local.get $0 local.get $16 - local.get $11 local.get $4 i32.const 2 i32.shl local.tee $3 + local.get $11 i32.add i32.load i32.const 1 @@ -34926,11 +34857,11 @@ br $for-loop|3 end end - local.get $10 local.get $7 i32.const 2 i32.shl local.tee $4 + local.get $10 i32.add local.get $3 i32.store @@ -34951,10 +34882,10 @@ loop $for-loop|4 local.get $4 if + local.get $10 local.get $4 i32.const 2 i32.shl - local.get $10 i32.add i32.load local.tee $1 @@ -34963,10 +34894,10 @@ if local.get $0 local.get $1 + local.get $11 local.get $4 i32.const 2 i32.shl - local.get $11 i32.add i32.load i32.const 1 @@ -35833,10 +35764,10 @@ local.get $2 i32.lt_s if + local.get $5 local.get $1 i32.const 1 i32.shl - local.get $5 i32.add i32.load16_s local.set $3 @@ -35849,10 +35780,10 @@ i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if + local.get $8 local.get $0 i32.const 1 i32.shl - local.get $8 i32.add local.get $3 i32.store16 @@ -36068,10 +35999,10 @@ local.get $2 i32.lt_s if + local.get $5 local.get $1 i32.const 1 i32.shl - local.get $5 i32.add i32.load16_u local.set $3 @@ -36084,10 +36015,10 @@ i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if + local.get $8 local.get $0 i32.const 1 i32.shl - local.get $8 i32.add local.get $3 i32.store16 @@ -36303,10 +36234,10 @@ local.get $2 i32.lt_s if + local.get $5 local.get $1 i32.const 2 i32.shl - local.get $5 i32.add i32.load local.set $3 @@ -36319,10 +36250,10 @@ i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if + local.get $8 local.get $0 i32.const 2 i32.shl - local.get $8 i32.add local.get $3 i32.store @@ -36538,10 +36469,10 @@ local.get $2 i32.lt_s if + local.get $5 local.get $1 i32.const 2 i32.shl - local.get $5 i32.add i32.load local.set $3 @@ -36554,10 +36485,10 @@ i32.load call_indirect $0 (type $i32_i32_i32_=>_i32) if + local.get $8 local.get $0 i32.const 2 i32.shl - local.get $8 i32.add local.get $3 i32.store @@ -36773,10 +36704,10 @@ local.get $2 i32.lt_s if + local.get $5 local.get $1 i32.const 3 i32.shl - local.get $5 i32.add i64.load local.set $3 @@ -36789,10 +36720,10 @@ i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) if + local.get $8 local.get $0 i32.const 3 i32.shl - local.get $8 i32.add local.get $3 i64.store @@ -37008,10 +36939,10 @@ local.get $2 i32.lt_s if + local.get $5 local.get $1 i32.const 3 i32.shl - local.get $5 i32.add i64.load local.set $3 @@ -37024,10 +36955,10 @@ i32.load call_indirect $0 (type $i64_i32_i32_=>_i32) if + local.get $8 local.get $0 i32.const 3 i32.shl - local.get $8 i32.add local.get $3 i64.store @@ -37243,10 +37174,10 @@ local.get $2 i32.lt_s if + local.get $5 local.get $1 i32.const 2 i32.shl - local.get $5 i32.add f32.load local.set $3 @@ -37259,10 +37190,10 @@ i32.load call_indirect $0 (type $f32_i32_i32_=>_i32) if + local.get $8 local.get $0 i32.const 2 i32.shl - local.get $8 i32.add local.get $3 f32.store @@ -37478,10 +37409,10 @@ local.get $2 i32.lt_s if + local.get $5 local.get $1 i32.const 3 i32.shl - local.get $5 i32.add f64.load local.set $3 @@ -37494,10 +37425,10 @@ i32.load call_indirect $0 (type $f64_i32_i32_=>_i32) if + local.get $8 local.get $0 i32.const 3 i32.shl - local.get $8 i32.add local.get $3 f64.store @@ -37660,8 +37591,8 @@ call $~lib/builtins/abort unreachable end - local.get $1 global.get $std/typedarray/forEachCallCount + local.get $1 i32.ne if i32.const 0 @@ -37671,8 +37602,8 @@ call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachSelf local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if i32.const 0 @@ -37732,8 +37663,8 @@ call $~lib/builtins/abort unreachable end - local.get $1 global.get $std/typedarray/forEachCallCount + local.get $1 i32.ne if i32.const 0 @@ -37743,8 +37674,8 @@ call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachSelf local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if i32.const 0 @@ -37800,8 +37731,8 @@ call $~lib/builtins/abort unreachable end - local.get $1 global.get $std/typedarray/forEachCallCount + local.get $1 i32.ne if i32.const 0 @@ -37811,8 +37742,8 @@ call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachSelf local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if i32.const 0 @@ -37855,11 +37786,11 @@ local.get $3 i32.const 7152 i32.store - local.get $0 i32.const 7152 local.get $1 call $~lib/array/Array#__get i64.extend_i32_s + local.get $0 i64.ne if i32.const 0 @@ -37869,8 +37800,8 @@ call $~lib/builtins/abort unreachable end - local.get $1 global.get $std/typedarray/forEachCallCount + local.get $1 i32.ne if i32.const 0 @@ -37880,8 +37811,8 @@ call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachSelf local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if i32.const 0 @@ -37924,11 +37855,11 @@ local.get $3 i32.const 7152 i32.store - local.get $0 i32.const 7152 local.get $1 call $~lib/array/Array#__get f32.convert_i32_s + local.get $0 f32.ne if i32.const 0 @@ -37938,8 +37869,8 @@ call $~lib/builtins/abort unreachable end - local.get $1 global.get $std/typedarray/forEachCallCount + local.get $1 i32.ne if i32.const 0 @@ -37949,8 +37880,8 @@ call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachSelf local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if i32.const 0 @@ -37993,11 +37924,11 @@ local.get $3 i32.const 7152 i32.store - local.get $0 i32.const 7152 local.get $1 call $~lib/array/Array#__get f64.convert_i32_s + local.get $0 f64.ne if i32.const 0 @@ -38007,8 +37938,8 @@ call $~lib/builtins/abort unreachable end - local.get $1 global.get $std/typedarray/forEachCallCount + local.get $1 i32.ne if i32.const 0 @@ -38018,8 +37949,8 @@ call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachSelf local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if i32.const 0 @@ -38111,15 +38042,15 @@ local.get $3 i32.lt_s if - local.get $2 local.get $0 i32.load offset=4 + local.get $2 i32.add i32.load8_s local.tee $4 - local.get $2 local.get $1 i32.load offset=4 + local.get $2 i32.add i32.load8_s local.tee $5 @@ -38297,10 +38228,10 @@ local.get $0 local.get $8 i32.add + local.get $5 local.get $0 i32.const 2 i32.shl - local.get $5 i32.add f32.load local.tee $2 @@ -38379,10 +38310,10 @@ local.get $0 local.get $5 i32.add + local.get $6 local.get $0 i32.const 3 i32.shl - local.get $6 i32.add f64.load local.tee $3 @@ -38492,15 +38423,15 @@ local.get $3 i32.lt_s if - local.get $2 local.get $0 i32.load offset=4 + local.get $2 i32.add i32.load8_u local.tee $4 - local.get $2 local.get $1 i32.load offset=4 + local.get $2 i32.add i32.load8_u local.tee $5 @@ -38678,10 +38609,10 @@ local.get $0 local.get $8 i32.add + local.get $5 local.get $0 i32.const 2 i32.shl - local.get $5 i32.add f32.load local.tee $2 @@ -38760,10 +38691,10 @@ local.get $0 local.get $5 i32.add + local.get $6 local.get $0 i32.const 3 i32.shl - local.get $6 i32.add f64.load local.tee $3 @@ -38873,15 +38804,15 @@ local.get $3 i32.lt_s if - local.get $2 local.get $0 i32.load offset=4 + local.get $2 i32.add i32.load8_u local.tee $4 - local.get $2 local.get $1 i32.load offset=4 + local.get $2 i32.add i32.load8_u local.tee $5 @@ -39040,10 +38971,10 @@ local.get $8 i32.add i32.const 255 + local.get $9 local.get $0 i32.const 2 i32.shl - local.get $9 i32.add i32.load local.tee $3 @@ -39112,10 +39043,10 @@ i32.add f32.const 0 f32.const 255 + local.get $8 local.get $0 i32.const 2 i32.shl - local.get $8 i32.add f32.load local.tee $1 @@ -39199,10 +39130,10 @@ i32.add f64.const 0 f64.const 255 + local.get $4 local.get $0 i32.const 3 i32.shl - local.get $4 i32.add f64.load local.tee $2 @@ -39378,9 +39309,9 @@ i32.add i32.load16_s local.tee $4 - local.get $5 local.get $1 i32.load offset=4 + local.get $5 i32.add i32.load16_s local.tee $5 @@ -39557,15 +39488,15 @@ local.get $9 i32.lt_s if + local.get $8 local.get $0 i32.const 1 i32.shl - local.get $8 i32.add + local.get $5 local.get $0 i32.const 2 i32.shl - local.get $5 i32.add f32.load local.tee $2 @@ -39643,15 +39574,15 @@ local.get $8 i32.lt_s if + local.get $5 local.get $0 i32.const 1 i32.shl - local.get $5 i32.add + local.get $6 local.get $0 i32.const 3 i32.shl - local.get $6 i32.add f64.load local.tee $3 @@ -39772,9 +39703,9 @@ i32.add i32.load16_u local.tee $4 - local.get $5 local.get $1 i32.load offset=4 + local.get $5 i32.add i32.load16_u local.tee $5 @@ -39951,15 +39882,15 @@ local.get $9 i32.lt_s if + local.get $8 local.get $0 i32.const 1 i32.shl - local.get $8 i32.add + local.get $5 local.get $0 i32.const 2 i32.shl - local.get $5 i32.add f32.load local.tee $2 @@ -40037,15 +39968,15 @@ local.get $8 i32.lt_s if + local.get $5 local.get $0 i32.const 1 i32.shl - local.get $5 i32.add + local.get $6 local.get $0 i32.const 3 i32.shl - local.get $6 i32.add f64.load local.tee $3 @@ -40166,9 +40097,9 @@ i32.add i32.load local.tee $4 - local.get $5 local.get $1 i32.load offset=4 + local.get $5 i32.add i32.load local.tee $5 @@ -40348,11 +40279,11 @@ local.get $10 i32.lt_s if + local.get $9 local.get $0 i32.const 2 i32.shl local.tee $6 - local.get $9 i32.add f32.load local.set $2 @@ -40434,15 +40365,15 @@ local.get $7 i32.lt_s if + local.get $5 local.get $0 i32.const 2 i32.shl - local.get $5 i32.add + local.get $6 local.get $0 i32.const 3 i32.shl - local.get $6 i32.add f64.load local.tee $3 @@ -40563,9 +40494,9 @@ i32.add i32.load local.tee $4 - local.get $5 local.get $1 i32.load offset=4 + local.get $5 i32.add i32.load local.tee $5 @@ -40745,11 +40676,11 @@ local.get $10 i32.lt_s if + local.get $9 local.get $0 i32.const 2 i32.shl local.tee $6 - local.get $9 i32.add f32.load local.set $2 @@ -40831,15 +40762,15 @@ local.get $7 i32.lt_s if + local.get $5 local.get $0 i32.const 2 i32.shl - local.get $5 i32.add + local.get $6 local.get $0 i32.const 3 i32.shl - local.get $6 i32.add f64.load local.tee $3 @@ -40961,9 +40892,9 @@ i32.add i64.load local.tee $5 - local.get $4 local.get $1 i32.load offset=4 + local.get $4 i32.add i64.load local.tee $6 @@ -41140,15 +41071,15 @@ local.get $9 i32.lt_s if + local.get $7 local.get $0 i32.const 3 i32.shl - local.get $7 i32.add + local.get $8 local.get $0 i32.const 2 i32.shl - local.get $8 i32.add f32.load local.tee $3 @@ -41226,11 +41157,11 @@ local.get $8 i32.lt_s if + local.get $7 local.get $0 i32.const 3 i32.shl local.tee $9 - local.get $7 i32.add f64.load local.set $2 @@ -41356,9 +41287,9 @@ i32.add i64.load local.tee $5 - local.get $4 local.get $1 i32.load offset=4 + local.get $4 i32.add i64.load local.tee $6 @@ -41535,15 +41466,15 @@ local.get $9 i32.lt_s if + local.get $7 local.get $0 i32.const 3 i32.shl - local.get $7 i32.add + local.get $8 local.get $0 i32.const 2 i32.shl - local.get $8 i32.add f32.load local.tee $3 @@ -41621,11 +41552,11 @@ local.get $8 i32.lt_s if + local.get $7 local.get $0 i32.const 3 i32.shl local.tee $9 - local.get $7 i32.add f64.load local.set $2 @@ -41751,9 +41682,9 @@ i32.add f32.load local.tee $5 - local.get $4 local.get $1 i32.load offset=4 + local.get $4 i32.add f32.load local.tee $6 @@ -41910,11 +41841,11 @@ local.get $10 i32.lt_s if + local.get $6 local.get $2 i32.const 2 i32.shl local.tee $7 - local.get $6 i32.add local.get $7 local.get $9 @@ -41990,15 +41921,15 @@ local.get $3 i32.lt_s if + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add + local.get $6 local.get $1 i32.const 3 i32.shl - local.get $6 i32.add i64.load f32.convert_i64_s @@ -42044,10 +41975,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add local.get $0 local.get $2 @@ -42094,15 +42025,15 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add + local.get $2 local.get $0 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_s f32.convert_i32_s @@ -42145,10 +42076,10 @@ local.get $3 i32.lt_s if + local.get $1 local.get $0 i32.const 2 i32.shl - local.get $1 i32.add local.get $0 local.get $2 @@ -42242,9 +42173,9 @@ i32.add f64.load local.tee $5 - local.get $4 local.get $1 i32.load offset=4 + local.get $4 i32.add f64.load local.tee $6 @@ -42396,15 +42327,15 @@ local.get $7 i32.lt_s if + local.get $5 local.get $0 i32.const 3 i32.shl - local.get $5 i32.add + local.get $6 local.get $0 i32.const 2 i32.shl - local.get $6 i32.add i32.load f64.convert_i32_s @@ -42459,15 +42390,15 @@ local.get $7 i32.lt_s if + local.get $5 local.get $0 i32.const 3 i32.shl - local.get $5 i32.add + local.get $6 local.get $0 i32.const 2 i32.shl - local.get $6 i32.add f32.load f64.promote_f32 @@ -42523,11 +42454,11 @@ local.get $2 i32.lt_s if + local.get $5 local.get $0 i32.const 3 i32.shl local.tee $7 - local.get $5 i32.add local.get $6 local.get $7 @@ -42578,10 +42509,10 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 i32.const 3 i32.shl - local.get $2 i32.add local.get $0 local.get $5 @@ -42628,15 +42559,15 @@ local.get $4 i32.lt_s if + local.get $2 local.get $0 i32.const 3 i32.shl - local.get $2 i32.add + local.get $3 local.get $0 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s f64.convert_i32_s @@ -42679,10 +42610,10 @@ local.get $4 i32.lt_s if + local.get $2 local.get $0 i32.const 3 i32.shl - local.get $2 i32.add local.get $0 local.get $3 @@ -45029,10 +44960,10 @@ local.get $3 i32.lt_s if + local.get $4 local.get $1 i32.const 1 i32.shl - local.get $4 i32.add i32.load16_s local.set $2 @@ -45112,10 +45043,10 @@ local.get $3 i32.lt_s if + local.get $4 local.get $1 i32.const 1 i32.shl - local.get $4 i32.add i32.load16_u local.set $2 @@ -45195,10 +45126,10 @@ local.get $3 i32.lt_s if + local.get $4 local.get $1 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.set $2 @@ -45276,10 +45207,10 @@ local.get $3 i32.lt_s if + local.get $4 local.get $1 i32.const 2 i32.shl - local.get $4 i32.add i32.load local.set $2 @@ -45355,10 +45286,10 @@ local.get $2 i32.lt_s if + local.get $3 local.get $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load local.set $10 @@ -45436,10 +45367,10 @@ local.get $2 i32.lt_s if + local.get $3 local.get $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load local.set $10 @@ -45515,10 +45446,10 @@ local.get $2 i32.lt_s if + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load local.set $6 @@ -45594,10 +45525,10 @@ local.get $2 i32.lt_s if + local.get $3 local.get $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load local.set $8 @@ -46473,10 +46404,10 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $1 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s local.set $2 @@ -46556,10 +46487,10 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $1 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_u local.set $2 @@ -46639,10 +46570,10 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.set $2 @@ -46720,10 +46651,10 @@ i32.const 0 i32.ge_s if + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.set $2 @@ -46801,10 +46732,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load local.set $10 @@ -46882,10 +46813,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add i64.load local.set $10 @@ -46963,10 +46894,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load local.set $6 @@ -47044,10 +46975,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load local.set $8 @@ -47572,11 +47503,11 @@ local.get $16 i32.gt_s if + local.get $7 local.get $16 i32.const 1 i32.shl local.tee $2 - local.get $7 i32.add i32.load16_s local.set $1 @@ -47720,11 +47651,11 @@ local.get $16 i32.gt_s if + local.get $7 local.get $16 i32.const 1 i32.shl local.tee $2 - local.get $7 i32.add i32.load16_u local.set $1 @@ -47868,11 +47799,11 @@ local.get $16 i32.gt_s if + local.get $7 local.get $16 i32.const 2 i32.shl local.tee $2 - local.get $7 i32.add i32.load local.set $1 @@ -48016,11 +47947,11 @@ local.get $16 i32.gt_s if + local.get $7 local.get $16 i32.const 2 i32.shl local.tee $2 - local.get $7 i32.add i32.load local.set $1 @@ -48164,11 +48095,11 @@ local.get $16 i32.gt_s if + local.get $5 local.get $16 i32.const 3 i32.shl local.tee $1 - local.get $5 i32.add i64.load local.set $10 @@ -48312,11 +48243,11 @@ local.get $16 i32.gt_s if + local.get $5 local.get $16 i32.const 3 i32.shl local.tee $1 - local.get $5 i32.add i64.load local.set $10 @@ -48460,11 +48391,11 @@ local.get $16 i32.gt_s if + local.get $5 local.get $16 i32.const 2 i32.shl local.tee $1 - local.get $5 i32.add f32.load local.set $6 @@ -48608,11 +48539,11 @@ local.get $16 i32.gt_s if + local.get $5 local.get $16 i32.const 3 i32.shl local.tee $1 - local.get $5 i32.add f64.load local.set $8 @@ -49097,10 +49028,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s local.set $1 @@ -49145,10 +49076,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s local.set $1 @@ -49225,10 +49156,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_u local.set $1 @@ -49273,10 +49204,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_u local.set $1 @@ -49353,10 +49284,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.set $1 @@ -49401,10 +49332,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.set $1 @@ -49481,10 +49412,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.set $1 @@ -49529,10 +49460,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.set $1 @@ -49609,10 +49540,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add i64.load local.set $10 @@ -49657,10 +49588,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add i64.load local.set $10 @@ -49737,10 +49668,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add i64.load local.set $10 @@ -49785,10 +49716,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add i64.load local.set $10 @@ -49865,10 +49796,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 2 i32.shl - local.get $2 i32.add f32.load local.set $6 @@ -49913,10 +49844,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 2 i32.shl - local.get $2 i32.add f32.load local.set $6 @@ -49993,10 +49924,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add f64.load local.set $8 @@ -50041,10 +49972,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add f64.load local.set $8 @@ -50478,10 +50409,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s i32.const 3 @@ -50525,10 +50456,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s i32.const 3 @@ -50605,10 +50536,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_u i32.const 3 @@ -50652,10 +50583,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_u i32.const 3 @@ -50732,10 +50663,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 3 @@ -50779,10 +50710,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 3 @@ -50859,10 +50790,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 3 @@ -50906,10 +50837,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 2 i32.shl - local.get $3 i32.add i32.load i32.const 3 @@ -50986,10 +50917,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add i64.load i32.const 3 @@ -51033,10 +50964,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add i64.load i32.const 3 @@ -51113,10 +51044,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add i64.load i32.const 3 @@ -51160,10 +51091,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add i64.load i32.const 3 @@ -51240,10 +51171,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 2 i32.shl - local.get $2 i32.add f32.load i32.const 3 @@ -51287,10 +51218,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 2 i32.shl - local.get $2 i32.add f32.load i32.const 3 @@ -51367,10 +51298,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add f64.load i32.const 3 @@ -51414,10 +51345,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add f64.load i32.const 3 @@ -51851,10 +51782,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $9 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_s i32.const 3 @@ -51898,10 +51829,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $9 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_s i32.const 3 @@ -51978,10 +51909,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $9 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -52025,10 +51956,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $9 i32.const 1 i32.shl - local.get $2 i32.add i32.load16_u i32.const 3 @@ -52105,10 +52036,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $9 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -52152,10 +52083,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $9 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -52232,10 +52163,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $9 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -52279,10 +52210,10 @@ i32.const 0 i32.ge_s if + local.get $2 local.get $9 i32.const 2 i32.shl - local.get $2 i32.add i32.load i32.const 3 @@ -52359,10 +52290,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $9 i32.const 3 i32.shl - local.get $1 i32.add i64.load i32.const 3 @@ -52406,10 +52337,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $9 i32.const 3 i32.shl - local.get $1 i32.add i64.load i32.const 3 @@ -52486,10 +52417,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $9 i32.const 3 i32.shl - local.get $1 i32.add i64.load i32.const 3 @@ -52533,10 +52464,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $9 i32.const 3 i32.shl - local.get $1 i32.add i64.load i32.const 3 @@ -52613,10 +52544,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $9 i32.const 2 i32.shl - local.get $1 i32.add f32.load i32.const 3 @@ -52660,10 +52591,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $9 i32.const 2 i32.shl - local.get $1 i32.add f32.load i32.const 3 @@ -52740,10 +52671,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $9 i32.const 3 i32.shl - local.get $1 i32.add f64.load i32.const 3 @@ -52787,10 +52718,10 @@ i32.const 0 i32.ge_s if + local.get $1 local.get $9 i32.const 3 i32.shl - local.get $1 i32.add f64.load i32.const 3 @@ -53233,10 +53164,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s local.set $1 @@ -53282,10 +53213,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_s local.set $1 @@ -53363,10 +53294,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_u local.set $1 @@ -53412,10 +53343,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 1 i32.shl - local.get $3 i32.add i32.load16_u local.set $1 @@ -53493,10 +53424,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.set $1 @@ -53542,10 +53473,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.set $1 @@ -53623,10 +53554,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.set $1 @@ -53672,10 +53603,10 @@ local.get $9 i32.gt_s if + local.get $3 local.get $9 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.set $1 @@ -53753,10 +53684,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add i64.load local.set $10 @@ -53802,10 +53733,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add i64.load local.set $10 @@ -53883,10 +53814,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add i64.load local.set $10 @@ -53932,10 +53863,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add i64.load local.set $10 @@ -54013,10 +53944,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 2 i32.shl - local.get $2 i32.add f32.load local.set $6 @@ -54062,10 +53993,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 2 i32.shl - local.get $2 i32.add f32.load local.set $6 @@ -54143,10 +54074,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add f64.load local.set $8 @@ -54192,10 +54123,10 @@ local.get $9 i32.gt_s if + local.get $2 local.get $9 i32.const 3 i32.shl - local.get $2 i32.add f64.load local.set $8 @@ -54591,10 +54522,10 @@ local.get $3 i32.lt_s if + local.get $4 local.get $1 i32.const 1 i32.shl - local.get $4 i32.add i32.load16_s i32.const 3 @@ -54694,10 +54625,10 @@ local.get $3 i32.lt_s if + local.get $4 local.get $1 i32.const 1 i32.shl - local.get $4 i32.add i32.load16_u i32.const 3 @@ -54791,10 +54722,10 @@ local.get $3 i32.lt_s if + local.get $4 local.get $1 i32.const 2 i32.shl - local.get $4 i32.add i32.load i32.const 3 @@ -54888,10 +54819,10 @@ local.get $3 i32.lt_s if + local.get $4 local.get $1 i32.const 2 i32.shl - local.get $4 i32.add i32.load i32.const 3 @@ -54988,10 +54919,10 @@ local.get $2 i32.lt_s if + local.get $3 local.get $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i32.const 3 @@ -55088,10 +55019,10 @@ local.get $2 i32.lt_s if + local.get $3 local.get $1 i32.const 3 i32.shl - local.get $3 i32.add i64.load i32.const 3 @@ -55188,10 +55119,10 @@ local.get $2 i32.lt_s if + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add f32.load i32.const 3 @@ -55288,10 +55219,10 @@ local.get $2 i32.lt_s if + local.get $3 local.get $1 i32.const 3 i32.shl - local.get $3 i32.add f64.load i32.const 3 @@ -56049,21 +55980,21 @@ local.get $4 i32.lt_u if + local.get $5 local.get $0 i32.const 2 i32.shl - local.get $5 i32.add local.tee $1 i32.load local.set $2 local.get $1 + local.get $5 local.get $3 local.get $0 i32.sub i32.const 2 i32.shl - local.get $5 i32.add local.tee $1 i32.load @@ -56140,21 +56071,21 @@ local.get $4 i32.lt_u if + local.get $5 local.get $1 i32.const 2 i32.shl - local.get $5 i32.add local.tee $0 i32.load local.set $2 local.get $0 + local.get $5 local.get $3 local.get $1 i32.sub i32.const 2 i32.shl - local.get $5 i32.add local.tee $0 i32.load @@ -56280,21 +56211,21 @@ local.get $4 i32.lt_u if + local.get $5 local.get $0 i32.const 2 i32.shl - local.get $5 i32.add local.tee $1 i32.load local.set $2 local.get $1 + local.get $5 local.get $3 local.get $0 i32.sub i32.const 2 i32.shl - local.get $5 i32.add local.tee $1 i32.load @@ -56370,21 +56301,21 @@ local.get $4 i32.lt_u if + local.get $5 local.get $1 i32.const 2 i32.shl - local.get $5 i32.add local.tee $0 i32.load local.set $2 local.get $0 + local.get $5 local.get $3 local.get $1 i32.sub i32.const 2 i32.shl - local.get $5 i32.add local.tee $0 i32.load @@ -56512,21 +56443,21 @@ local.get $3 i32.lt_u if + local.get $4 local.get $0 i32.const 3 i32.shl - local.get $4 i32.add local.tee $1 i64.load local.set $10 local.get $1 + local.get $4 local.get $2 local.get $0 i32.sub i32.const 3 i32.shl - local.get $4 i32.add local.tee $1 i64.load @@ -56603,21 +56534,21 @@ local.get $3 i32.lt_u if + local.get $4 local.get $1 i32.const 3 i32.shl - local.get $4 i32.add local.tee $0 i64.load local.set $10 local.get $0 + local.get $4 local.get $2 local.get $1 i32.sub i32.const 3 i32.shl - local.get $4 i32.add local.tee $0 i64.load @@ -56745,21 +56676,21 @@ local.get $3 i32.lt_u if + local.get $4 local.get $0 i32.const 3 i32.shl - local.get $4 i32.add local.tee $1 i64.load local.set $10 local.get $1 + local.get $4 local.get $2 local.get $0 i32.sub i32.const 3 i32.shl - local.get $4 i32.add local.tee $1 i64.load @@ -56836,21 +56767,21 @@ local.get $3 i32.lt_u if + local.get $4 local.get $1 i32.const 3 i32.shl - local.get $4 i32.add local.tee $0 i64.load local.set $10 local.get $0 + local.get $4 local.get $2 local.get $1 i32.sub i32.const 3 i32.shl - local.get $4 i32.add local.tee $0 i64.load @@ -56978,21 +56909,21 @@ local.get $3 i32.lt_u if + local.get $4 local.get $0 i32.const 2 i32.shl - local.get $4 i32.add local.tee $1 f32.load local.set $6 local.get $1 + local.get $4 local.get $2 local.get $0 i32.sub i32.const 2 i32.shl - local.get $4 i32.add local.tee $1 f32.load @@ -57069,21 +57000,21 @@ local.get $3 i32.lt_u if + local.get $4 local.get $1 i32.const 2 i32.shl - local.get $4 i32.add local.tee $0 f32.load local.set $6 local.get $0 + local.get $4 local.get $2 local.get $1 i32.sub i32.const 2 i32.shl - local.get $4 i32.add local.tee $0 f32.load @@ -57211,21 +57142,21 @@ local.get $3 i32.lt_u if + local.get $4 local.get $0 i32.const 3 i32.shl - local.get $4 i32.add local.tee $1 f64.load local.set $8 local.get $1 + local.get $4 local.get $2 local.get $0 i32.sub i32.const 3 i32.shl - local.get $4 i32.add local.tee $1 f64.load @@ -57303,21 +57234,21 @@ local.get $3 i32.lt_u if + local.get $4 local.get $1 i32.const 3 i32.shl - local.get $4 i32.add local.tee $0 f64.load local.set $8 local.get $0 + local.get $4 local.get $2 local.get $1 i32.sub i32.const 3 i32.shl - local.get $4 i32.add local.tee $0 f64.load @@ -57393,9 +57324,6 @@ i32.const 3 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $4 @@ -57406,11 +57334,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 3 i32.shl - local.get $2 i32.add f64.load f64.const nan:0x8000000000000 @@ -57446,9 +57374,6 @@ i32.const 3 i32.shr_u local.tee $1 - i32.const 0 - local.get $1 - select i32.eqz br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 drop @@ -57461,10 +57386,10 @@ i32.gt_s if i32.const 1 + local.get $0 local.get $16 i32.const 3 i32.shl - local.get $0 i32.add f64.load local.tee $8 @@ -57513,9 +57438,6 @@ i32.const 2 i32.shr_u local.tee $3 - i32.const 0 - local.get $3 - select i32.eqz br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 local.get $4 @@ -57526,11 +57448,11 @@ local.get $3 i32.lt_s if + local.get $2 local.get $0 local.tee $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load f32.const nan:0x400000 @@ -57566,9 +57488,6 @@ i32.const 2 i32.shr_u local.tee $2 - i32.const 0 - local.get $2 - select i32.eqz br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 drop @@ -57581,10 +57500,10 @@ i32.lt_s if i32.const 1 + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add f32.load local.tee $6 @@ -58716,9 +58635,9 @@ i32.load i32.sub local.tee $0 - local.get $0 local.get $4 i32.load offset=8 + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -58855,9 +58774,9 @@ i32.load i32.sub local.tee $0 - local.get $0 local.get $2 i32.load offset=8 + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $0 @@ -58955,9 +58874,9 @@ i32.load i32.sub local.tee $0 - local.get $0 local.get $4 i32.load offset=8 + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -59093,9 +59012,9 @@ i32.load i32.sub local.tee $0 - local.get $0 local.get $4 i32.load offset=8 + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -59234,9 +59153,9 @@ i32.load i32.sub local.tee $0 - local.get $0 local.get $4 i32.load offset=8 + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -59373,9 +59292,9 @@ i32.load i32.sub local.tee $0 - local.get $0 local.get $4 i32.load offset=8 + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -59512,9 +59431,9 @@ i32.load i32.sub local.tee $0 - local.get $0 local.get $4 i32.load offset=8 + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -59652,9 +59571,9 @@ i32.load i32.sub local.tee $0 - local.get $0 local.get $4 i32.load offset=8 + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -59792,9 +59711,9 @@ i32.load i32.sub local.tee $0 - local.get $0 local.get $4 i32.load offset=8 + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -59932,9 +59851,9 @@ i32.load i32.sub local.tee $0 - local.get $0 local.get $4 i32.load offset=8 + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -60072,9 +59991,9 @@ i32.load i32.sub local.tee $0 - local.get $0 local.get $4 i32.load offset=8 + local.get $0 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $3 @@ -60256,10 +60175,10 @@ i32.add f32.const 0 f32.const 255 + local.get $2 local.get $1 i32.const 2 i32.shl - local.get $2 i32.add f32.load local.tee $6 @@ -60319,10 +60238,10 @@ local.get $4 i32.add i32.const 255 + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.tee $0 @@ -60429,10 +60348,10 @@ local.get $4 i32.add i32.const 255 + local.get $3 local.get $1 i32.const 2 i32.shl - local.get $3 i32.add i32.load local.tee $0 @@ -62143,11 +62062,11 @@ local.get $0 i32.const 0 i32.store offset=8 + local.get $1 i32.const 1073741820 local.get $2 i32.shr_u - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1056 i32.const 1104 @@ -64132,10 +64051,10 @@ return end i32.const 0 + local.get $4 local.get $1 i32.const 1 i32.shl - local.get $4 i32.eq local.get $3 select diff --git a/tests/compiler/std/uri.release.wat b/tests/compiler/std/uri.release.wat index 30e4fa44bf..760d2fe48e 100644 --- a/tests/compiler/std/uri.release.wat +++ b/tests/compiler/std/uri.release.wat @@ -295,37 +295,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -476,12 +476,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -542,14 +542,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -565,14 +565,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -584,10 +584,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -624,11 +624,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1520 @@ -637,10 +637,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -652,11 +652,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1520 @@ -695,10 +695,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -755,10 +755,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -819,25 +819,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -894,23 +894,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1066,13 +1066,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1112,10 +1112,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1124,6 +1124,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1132,7 +1133,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1146,12 +1146,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1164,6 +1164,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1172,7 +1173,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1293,6 +1293,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1301,7 +1302,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1354,12 +1354,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1520 @@ -1397,16 +1397,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1450,19 +1450,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1489,6 +1489,7 @@ (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + local.get $1 local.get $0 i32.const 20 i32.sub @@ -1498,8 +1499,7 @@ i32.and i32.const 16 i32.sub - local.get $1 - i32.ge_u + i32.le_u if local.get $3 local.get $1 @@ -1555,10 +1555,10 @@ local.set $5 loop $do-loop|1 block $do-break|1 + local.get $0 local.get $4 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u local.tee $6 @@ -1567,19 +1567,19 @@ i32.const 94 i32.ge_u br_if $do-break|1 + local.get $2 local.get $6 i32.const 33 i32.sub - local.get $2 i32.add i32.load8_u br_if $do-break|1 - local.get $1 local.get $4 i32.const 1 i32.add local.tee $4 - i32.gt_u + local.get $1 + i32.lt_u br_if $do-loop|1 end end @@ -1587,16 +1587,16 @@ local.get $5 i32.gt_u if - local.get $8 - local.get $7 local.get $4 local.get $5 i32.sub i32.const 1 i32.shl local.tee $9 + local.get $7 i32.add - i32.lt_u + local.get $8 + i32.gt_u if local.get $3 local.get $7 @@ -1609,10 +1609,10 @@ local.get $3 local.get $7 i32.add + local.get $0 local.get $5 i32.const 1 i32.shl - local.get $0 i32.add local.get $9 memory.copy @@ -1659,13 +1659,13 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $4 i32.const 1 i32.add local.tee $4 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u local.tee $5 @@ -1697,17 +1697,17 @@ local.set $6 end end - local.get $8 + local.get $7 i32.const 6 i32.const 24 local.get $6 i32.const 128 i32.lt_u select - local.get $7 i32.add local.tee $5 - i32.lt_u + local.get $8 + i32.gt_u if local.get $3 local.get $5 @@ -1850,11 +1850,11 @@ i32.shl i32.or i32.store offset=2 + local.get $3 local.get $7 i32.const 6 i32.add local.tee $7 - local.get $3 i32.add local.tee $5 i32.const 37 @@ -1884,11 +1884,11 @@ i32.or i32.store offset=2 end + local.get $3 local.get $7 i32.const 6 i32.add local.tee $7 - local.get $3 i32.add local.tee $5 i32.const 37 @@ -1918,11 +1918,11 @@ i32.or i32.store offset=2 end + local.get $3 local.get $7 i32.const 6 i32.add local.tee $7 - local.get $3 i32.add local.tee $5 i32.const 37 @@ -2124,10 +2124,10 @@ local.get $3 i32.gt_u if (result i32) + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u local.tee $5 @@ -2151,10 +2151,10 @@ local.get $6 local.get $8 i32.add + local.get $0 local.get $4 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 local.get $4 @@ -2175,21 +2175,21 @@ local.get $5 i32.const 37 i32.ne - local.get $1 local.get $3 i32.const 2 i32.add - i32.le_u + local.get $1 + i32.ge_u i32.or if (result i32) i32.const 1 else - local.get $0 local.get $3 i32.const 1 i32.add i32.const 1 i32.shl + local.get $0 i32.add local.tee $4 i32.load16_u @@ -2318,6 +2318,7 @@ i32.sub i32.shl local.set $9 + local.get $5 i32.const 128 local.get $4 i32.shr_u @@ -2326,7 +2327,6 @@ i32.const 0 local.get $4 select - local.get $5 i32.and local.set $5 loop $while-continue|2 @@ -2336,18 +2336,18 @@ local.tee $4 if block $while-break|2 - local.get $1 local.get $3 i32.const 2 i32.add - i32.le_u + local.get $1 + i32.ge_u if (result i32) i32.const 1 else + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add i32.load16_u i32.const 37 @@ -2356,12 +2356,12 @@ if (result i32) i32.const 1 else - local.get $0 local.get $3 i32.const 1 i32.add i32.const 1 i32.shl + local.get $0 i32.add local.tee $10 i32.load16_u @@ -2529,11 +2529,11 @@ end end end - local.get $6 local.get $1 i32.const 1 i32.shl - i32.gt_u + local.get $6 + i32.lt_u if i32.const 0 i32.const 1632 @@ -2542,11 +2542,11 @@ call $~lib/builtins/abort unreachable end - local.get $6 local.get $1 i32.const 1 i32.shl - i32.lt_u + local.get $6 + i32.gt_u if (result i32) local.get $8 local.get $6 @@ -4144,8 +4144,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -4205,11 +4205,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -4223,10 +4223,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 4336 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1376 i32.const 1440 @@ -4263,11 +4263,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/super-inline.release.wat b/tests/compiler/super-inline.release.wat index 42e805b3ae..cdf933b481 100644 --- a/tests/compiler/super-inline.release.wat +++ b/tests/compiler/super-inline.release.wat @@ -188,37 +188,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -369,12 +369,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -435,14 +435,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -458,14 +458,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -477,10 +477,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -517,11 +517,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -530,10 +530,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -545,11 +545,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1392 @@ -588,10 +588,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -648,10 +648,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -712,25 +712,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -787,23 +787,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -956,11 +956,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -970,12 +970,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -988,6 +988,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -996,7 +997,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1201,19 +1201,19 @@ i32.load offset=8 local.set $2 local.get $1 - global.get $~lib/rt/itcms/white local.get $0 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $1 local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1423,8 +1423,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1484,11 +1484,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1502,10 +1502,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1440 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1248 i32.const 1312 @@ -1542,11 +1542,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/templateliteral.release.wat b/tests/compiler/templateliteral.release.wat index 72396b9688..ffeef168a2 100644 --- a/tests/compiler/templateliteral.release.wat +++ b/tests/compiler/templateliteral.release.wat @@ -301,8 +301,8 @@ (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/rt/itcms/iter local.get $0 + global.get $~lib/rt/itcms/iter i32.eq if local.get $0 @@ -362,11 +362,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 end @@ -380,10 +380,10 @@ if (result i32) i32.const 1 else + local.get $1 i32.const 5680 i32.load - local.get $1 - i32.lt_u + i32.gt_u if i32.const 1408 i32.const 1472 @@ -406,23 +406,23 @@ i32.load offset=8 local.set $1 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 local.get $3 select + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 local.get $1 + local.get $0 local.get $1 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -525,37 +525,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -706,12 +706,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -772,14 +772,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -795,14 +795,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -814,10 +814,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -854,11 +854,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1552 @@ -867,10 +867,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -882,11 +882,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1552 @@ -925,10 +925,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -985,10 +985,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -1049,25 +1049,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -1124,23 +1124,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1296,13 +1296,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1342,10 +1342,10 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1354,6 +1354,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1362,7 +1363,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1376,12 +1376,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1394,6 +1394,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1402,7 +1403,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1523,6 +1523,7 @@ i32.sub i32.ne i32.shl + local.get $5 i32.const 1 i32.const 27 local.get $5 @@ -1531,7 +1532,6 @@ i32.shl i32.const 1 i32.sub - local.get $5 i32.add local.get $5 local.get $5 @@ -1584,12 +1584,12 @@ unreachable end end + local.get $5 local.get $2 i32.load i32.const -4 i32.and - local.get $5 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1552 @@ -1627,16 +1627,16 @@ i32.ge_u if local.get $2 + local.get $5 local.get $3 i32.const 2 i32.and - local.get $5 i32.or i32.store - local.get $5 local.get $2 i32.const 4 i32.add + local.get $5 i32.add local.tee $3 local.get $6 @@ -1680,19 +1680,19 @@ i32.load offset=8 local.set $3 local.get $2 - global.get $~lib/rt/itcms/white local.get $1 + global.get $~lib/rt/itcms/white i32.or i32.store offset=4 local.get $2 local.get $3 i32.store offset=8 local.get $3 + local.get $2 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $2 i32.or i32.store offset=4 local.get $1 @@ -1717,10 +1717,10 @@ local.get $1 ) (func $~lib/staticarray/StaticArray<~lib/string/String>#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 local.get $1 i32.const 2 i32.shl - local.get $0 i32.add local.get $2 i32.store @@ -1808,23 +1808,23 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $6 i32.store offset=4 local.get $6 if + local.get $1 local.get $6 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.get $1 i32.add local.set $1 end @@ -1837,12 +1837,12 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - local.get $5 i32.const 1180 i32.load i32.const 1 i32.shr_u local.tee $1 + local.get $5 i32.mul i32.add i32.const 1 @@ -1859,20 +1859,20 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $6 i32.store offset=4 local.get $6 if + local.get $4 local.get $2 i32.const 1 i32.shl - local.get $4 i32.add local.get $6 local.get $6 @@ -1892,10 +1892,10 @@ end local.get $1 if + local.get $4 local.get $2 i32.const 1 i32.shl - local.get $4 i32.add i32.const 1184 local.get $1 @@ -1915,20 +1915,20 @@ end end global.get $~lib/memory/__stack_pointer + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add i32.load local.tee $0 i32.store offset=4 local.get $0 if + local.get $4 local.get $2 i32.const 1 i32.shl - local.get $4 i32.add local.get $0 local.get $0 @@ -1963,13 +1963,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -1998,13 +1998,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -2024,12 +2024,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -2039,12 +2039,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -2185,7 +2185,6 @@ local.get $0 i64.sub local.set $9 - local.get $1 i64.const 1 i32.const 0 local.get $2 @@ -2198,6 +2197,7 @@ i64.const 1 i64.sub local.tee $12 + local.get $1 i64.and local.set $7 local.get $1 @@ -2397,19 +2397,19 @@ i32.const 1 i32.sub local.set $2 - local.get $7 + local.get $3 local.get $5 i64.extend_i32_u local.get $10 i64.extend_i32_s i64.shl + local.get $7 i64.add local.tee $0 - local.get $3 - i64.le_u + i64.ge_u if - local.get $2 global.get $~lib/util/number/_K + local.get $2 i32.add global.set $~lib/util/number/_K local.get $2 @@ -2434,11 +2434,11 @@ local.get $0 local.get $9 i64.lt_u - local.get $1 local.get $3 local.get $0 i64.sub - i64.le_u + local.get $1 + i64.ge_u i32.and if (result i32) local.get $9 @@ -2520,20 +2520,21 @@ i32.const 1 i32.sub local.set $2 - local.get $3 local.get $0 local.get $12 i64.and local.tee $7 - i64.le_u + local.get $3 + i64.ge_u br_if $while-continue|4 end - local.get $2 global.get $~lib/util/number/_K + local.get $2 i32.add global.set $~lib/util/number/_K local.get $7 local.set $0 + local.get $9 i32.const 0 local.get $2 i32.sub @@ -2542,7 +2543,6 @@ i32.const 4848 i32.add i64.load32_u - local.get $9 i64.mul local.set $1 local.get $4 @@ -2557,11 +2557,11 @@ local.get $0 local.get $1 i64.lt_u - local.get $11 local.get $3 local.get $0 i64.sub - i64.le_u + local.get $11 + i64.ge_u i32.and if (result i32) local.get $1 @@ -2604,10 +2604,10 @@ local.get $2 i32.eqz if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.const 3145774 i32.store @@ -2632,10 +2632,10 @@ local.get $3 i32.lt_s if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.const 48 i32.store16 @@ -2646,10 +2646,10 @@ br $for-loop|0 end end + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add i32.const 3145774 i32.store @@ -2665,10 +2665,10 @@ i32.gt_s i32.and if (result i32) + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.tee $0 i32.const 2 @@ -2695,13 +2695,13 @@ i32.gt_s i32.and if (result i32) + local.get $0 i32.const 2 local.get $3 i32.sub local.tee $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $0 local.get $1 @@ -2718,10 +2718,10 @@ local.get $3 i32.lt_s if + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add i32.const 48 i32.store16 @@ -3030,9 +3030,9 @@ local.tee $0 i32.trunc_sat_f64_s local.tee $7 - local.get $0 local.get $7 f64.convert_i32_s + local.get $0 f64.ne i32.add i32.const 3 @@ -3087,11 +3087,11 @@ i64.const 4294967295 i64.and local.set $12 + local.get $10 local.get $3 i64.const 32 i64.shr_u local.tee $3 - local.get $10 i64.mul local.get $10 local.get $12 @@ -3105,11 +3105,11 @@ i64.const 4294967295 i64.and local.set $14 + local.get $10 local.get $13 i64.const 32 i64.shr_u local.tee $13 - local.get $10 i64.mul local.get $10 local.get $14 @@ -3123,11 +3123,11 @@ i32.shl i32.const 3920 i32.add - local.get $1 local.get $9 i64.const 32 i64.shr_u local.tee $9 + local.get $1 i64.mul local.get $11 i64.const 32 @@ -3167,8 +3167,8 @@ i64.const 1 i64.sub local.tee $1 - global.get $~lib/util/number/_exp_pow local.get $6 + global.get $~lib/util/number/_exp_pow i32.add i32.const -64 i32.sub @@ -3913,10 +3913,10 @@ return end local.get $0 + local.get $0 i32.const 20 i32.sub i32.load offset=16 - local.get $0 i32.add local.set $1 loop $while-continue|0 diff --git a/tests/compiler/throw.release.wat b/tests/compiler/throw.release.wat index 57703faef9..2fb5742739 100644 --- a/tests/compiler/throw.release.wat +++ b/tests/compiler/throw.release.wat @@ -184,37 +184,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -365,12 +365,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -431,14 +431,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -454,14 +454,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -473,10 +473,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -517,25 +517,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -591,23 +591,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -738,10 +738,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -835,10 +835,10 @@ local.get $0 i32.const 0 i32.store offset=8 - local.get $1 local.get $0 i32.const 4 i32.add + local.get $1 i32.add local.tee $1 i32.const 2 @@ -1117,8 +1117,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1178,11 +1178,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1196,10 +1196,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1728 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1488 i32.const 1552 @@ -1236,11 +1236,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/typeof.release.wat b/tests/compiler/typeof.release.wat index 8ae032f2f4..d2182e90d1 100644 --- a/tests/compiler/typeof.release.wat +++ b/tests/compiler/typeof.release.wat @@ -320,37 +320,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -501,12 +501,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -567,14 +567,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -590,14 +590,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -609,10 +609,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -649,11 +649,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1696 @@ -662,10 +662,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -677,11 +677,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1696 @@ -720,10 +720,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -780,10 +780,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -844,25 +844,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -919,23 +919,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -1088,11 +1088,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1102,12 +1102,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -1120,6 +1120,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1128,7 +1129,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1799,19 +1799,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $2 global.get $~lib/rt/itcms/white + local.get $2 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $2 @@ -1963,8 +1963,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -2024,11 +2024,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -2042,10 +2042,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1792 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1552 i32.const 1616 @@ -2082,11 +2082,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2 diff --git a/tests/compiler/wasi/abort.release.wat b/tests/compiler/wasi/abort.release.wat index b458fbbb1d..92a18cbb31 100644 --- a/tests/compiler/wasi/abort.release.wat +++ b/tests/compiler/wasi/abort.release.wat @@ -31,10 +31,10 @@ end unreachable end + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.set $3 local.get $2 @@ -83,11 +83,11 @@ local.get $4 i32.const 56320 i32.lt_u - local.get $3 local.get $0 i32.const 2 i32.add - i32.gt_u + local.get $3 + i32.lt_u i32.and local.get $4 i32.const 63488 diff --git a/tests/compiler/wasi/seed.release.wat b/tests/compiler/wasi/seed.release.wat index a611729c9b..d460121069 100644 --- a/tests/compiler/wasi/seed.release.wat +++ b/tests/compiler/wasi/seed.release.wat @@ -83,17 +83,17 @@ global.get $~lib/math/random_state1_64 local.tee $0 global.set $~lib/math/random_state0_64 + local.get $0 + local.get $1 local.get $1 i64.const 23 i64.shl - local.get $1 i64.xor local.tee $1 i64.const 17 i64.shr_u local.get $1 i64.xor - local.get $0 i64.xor local.get $0 i64.const 26 diff --git a/tests/compiler/wasi/trace.release.wat b/tests/compiler/wasi/trace.release.wat index 43a0defd71..b2c02e1f68 100644 --- a/tests/compiler/wasi/trace.release.wat +++ b/tests/compiler/wasi/trace.release.wat @@ -52,10 +52,10 @@ end unreachable end + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add local.set $3 local.get $2 @@ -104,11 +104,11 @@ local.get $4 i32.const 56320 i32.lt_u - local.get $3 local.get $0 i32.const 2 i32.add - i32.gt_u + local.get $3 + i32.lt_u i32.and local.get $4 i32.const 63488 @@ -540,37 +540,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -721,12 +721,12 @@ call $~lib/wasi/index/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -787,14 +787,14 @@ call $~lib/wasi/index/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -810,14 +810,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -829,10 +829,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -869,11 +869,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1216 @@ -882,10 +882,10 @@ call $~lib/wasi/index/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -897,11 +897,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1216 @@ -940,10 +940,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -1000,10 +1000,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -1046,13 +1046,13 @@ i32.shr_u else i32.const 31 + local.get $1 i32.const 1 i32.const 27 local.get $1 i32.clz i32.sub i32.shl - local.get $1 i32.add i32.const 1 i32.sub @@ -1092,10 +1092,10 @@ call $~lib/wasi/index/abort unreachable end + local.get $0 local.get $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 i32.const -1 @@ -1104,6 +1104,7 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.get $2 @@ -1112,7 +1113,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1126,12 +1126,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $1 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $2 @@ -1144,6 +1144,7 @@ call $~lib/wasi/index/abort unreachable end + local.get $0 local.get $2 i32.ctz local.get $1 @@ -1152,7 +1153,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1173,7 +1173,6 @@ local.get $1 i64.sub local.set $12 - local.get $2 i64.const 1 i32.const 0 local.get $3 @@ -1186,6 +1185,7 @@ i64.const 1 i64.sub local.tee $11 + local.get $2 i64.and local.set $7 local.get $2 @@ -1369,10 +1369,10 @@ i32.const 1 i32.add local.set $5 + local.get $0 local.get $8 i32.const 1 i32.shl - local.get $0 i32.add local.get $6 i32.const 65535 @@ -1385,19 +1385,19 @@ i32.const 1 i32.sub local.set $9 - local.get $4 - local.get $7 local.get $3 i64.extend_i32_u local.get $10 i64.extend_i32_s i64.shl + local.get $7 i64.add local.tee $1 - i64.ge_u + local.get $4 + i64.le_u if - local.get $9 global.get $~lib/util/number/_K + local.get $9 i32.add global.set $~lib/util/number/_K local.get $9 @@ -1410,12 +1410,12 @@ i64.extend_i32_s i64.shl local.set $2 + local.get $0 local.get $5 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.tee $0 i32.load16_u @@ -1424,11 +1424,11 @@ local.get $1 local.get $12 i64.lt_u - local.get $2 local.get $4 local.get $1 i64.sub - i64.le_u + local.get $2 + i64.ge_u i32.and if (result i32) local.get $12 @@ -1493,10 +1493,10 @@ i32.const 1 i32.add local.set $5 + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $2 i32.wrap_i64 @@ -1510,19 +1510,20 @@ i32.const 1 i32.sub local.set $9 + local.get $4 local.get $1 local.get $11 i64.and local.tee $7 - local.get $4 - i64.ge_u + i64.le_u br_if $while-continue|4 - local.get $9 global.get $~lib/util/number/_K + local.get $9 i32.add global.set $~lib/util/number/_K local.get $7 local.set $1 + local.get $12 i32.const 0 local.get $9 i32.sub @@ -1531,15 +1532,14 @@ i32.const 2200 i32.add i64.load32_u - local.get $12 i64.mul local.set $2 + local.get $0 local.get $5 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.tee $0 i32.load16_u @@ -1548,11 +1548,11 @@ local.get $1 local.get $2 i64.lt_u - local.get $13 local.get $4 local.get $1 i64.sub - i64.le_u + local.get $13 + i64.ge_u i32.and if (result i32) local.get $2 @@ -1605,13 +1605,13 @@ i32.const 10000 i32.div_u local.set $1 + local.get $0 local.get $2 i32.const 4 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $3 i32.const 100 @@ -1640,13 +1640,13 @@ i32.const 100 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub local.tee $2 i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 100 @@ -1666,12 +1666,12 @@ i32.const 10 i32.ge_u if + local.get $0 local.get $2 i32.const 2 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 2 @@ -1681,12 +1681,12 @@ i32.load i32.store else + local.get $0 local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl - local.get $0 i32.add local.get $1 i32.const 48 @@ -1700,10 +1700,10 @@ local.get $2 i32.eqz if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.const 3145774 i32.store @@ -1728,10 +1728,10 @@ local.get $3 i32.lt_s if + local.get $0 local.get $1 i32.const 1 i32.shl - local.get $0 i32.add i32.const 48 i32.store16 @@ -1742,10 +1742,10 @@ br $for-loop|0 end end + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add i32.const 3145774 i32.store @@ -1761,10 +1761,10 @@ i32.gt_s i32.and if (result i32) + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.tee $0 i32.const 2 @@ -1791,13 +1791,13 @@ i32.gt_s i32.and if (result i32) + local.get $0 i32.const 2 local.get $3 i32.sub local.tee $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $0 local.get $1 @@ -1814,10 +1814,10 @@ local.get $3 i32.lt_s if + local.get $0 local.get $2 i32.const 1 i32.shl - local.get $0 i32.add i32.const 48 i32.store16 @@ -2126,9 +2126,9 @@ local.tee $1 i32.trunc_sat_f64_s local.tee $8 - local.get $1 local.get $8 f64.convert_i32_s + local.get $1 f64.ne i32.add i32.const 3 @@ -2183,11 +2183,11 @@ i64.const 4294967295 i64.and local.set $13 + local.get $11 local.get $2 i64.const 32 i64.shr_u local.tee $6 - local.get $11 i64.mul local.get $11 local.get $13 @@ -2201,11 +2201,11 @@ i64.const 4294967295 i64.and local.set $2 + local.get $11 local.get $15 i64.const 32 i64.shr_u local.tee $15 - local.get $11 i64.mul local.get $2 local.get $11 @@ -2214,11 +2214,11 @@ i64.shr_u i64.add local.set $11 - local.get $6 local.get $10 i64.const 32 i64.shr_u local.tee $10 + local.get $6 i64.mul local.get $14 i64.const 32 @@ -2239,10 +2239,10 @@ i64.const 1 i64.sub local.set $6 + local.get $0 local.get $3 i32.const 1 i32.shl - local.get $0 i32.add local.get $0 local.get $4 @@ -2265,8 +2265,8 @@ i64.shr_u i64.add local.get $6 - global.get $~lib/util/number/_exp_pow local.get $7 + global.get $~lib/util/number/_exp_pow i32.add i32.const -64 i32.sub @@ -2413,11 +2413,11 @@ i32.and i32.const 55296 i32.eq - local.get $8 local.get $7 i32.const 2 i32.add - i32.gt_u + local.get $8 + i32.lt_u i32.and if local.get $7 @@ -2507,6 +2507,7 @@ i32.sub i32.ne i32.shl + local.get $9 i32.const 1 i32.const 27 local.get $9 @@ -2515,7 +2516,6 @@ i32.shl i32.const 1 i32.sub - local.get $9 i32.add local.get $9 local.get $9 @@ -2568,12 +2568,12 @@ unreachable end end + local.get $9 local.get $7 i32.load i32.const -4 i32.and - local.get $9 - i32.lt_u + i32.gt_u if i32.const 0 i32.const 1216 @@ -2611,16 +2611,16 @@ i32.ge_u if local.get $7 + local.get $9 local.get $6 i32.const 2 i32.and - local.get $9 i32.or i32.store - local.get $9 local.get $7 i32.const 4 i32.add + local.get $9 i32.add local.tee $6 local.get $10 diff --git a/tests/compiler/while.release.wat b/tests/compiler/while.release.wat index 9016485d0b..1488e913b9 100644 --- a/tests/compiler/while.release.wat +++ b/tests/compiler/while.release.wat @@ -176,37 +176,37 @@ local.get $4 i32.store offset=4 end - local.get $2 + local.get $1 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 - local.get $1 i32.eq if - local.get $2 + local.get $0 local.get $3 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $5 i32.store offset=96 local.get $5 i32.eqz if + local.get $0 local.get $3 i32.const 2 i32.shl - local.get $0 i32.add local.tee $1 i32.load offset=4 @@ -357,12 +357,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $4 local.get $1 i32.const 4 i32.add + local.get $2 i32.add - local.get $4 i32.ne if i32.const 0 @@ -423,14 +423,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 local.set $3 @@ -446,14 +446,14 @@ local.get $1 i32.store offset=4 end - local.get $2 + local.get $0 local.get $5 i32.const 4 i32.shl + local.get $2 i32.add i32.const 2 i32.shl - local.get $0 i32.add local.get $1 i32.store offset=96 @@ -465,10 +465,10 @@ i32.shl i32.or i32.store + local.get $0 local.get $5 i32.const 2 i32.shl - local.get $0 i32.add local.tee $0 local.get $0 @@ -505,11 +505,11 @@ i32.load offset=1568 local.tee $4 if - local.get $1 local.get $4 i32.const 4 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -518,10 +518,10 @@ call $~lib/builtins/abort unreachable end - local.get $4 local.get $1 i32.const 16 i32.sub + local.get $4 i32.eq if local.get $4 @@ -533,11 +533,11 @@ local.set $1 end else - local.get $1 local.get $0 i32.const 1572 i32.add - i32.lt_u + local.get $1 + i32.gt_u if i32.const 0 i32.const 1440 @@ -576,10 +576,10 @@ local.get $1 i32.const 0 i32.store offset=8 - local.get $2 local.get $1 i32.const 4 i32.add + local.get $2 i32.add local.tee $2 i32.const 2 @@ -636,10 +636,10 @@ i32.const 16 i32.lt_u if - local.get $1 local.get $0 i32.const 4 i32.shl + local.get $1 i32.add i32.const 2 i32.shl @@ -700,25 +700,25 @@ i32.and local.set $0 loop $while-continue|1 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if local.get $0 global.set $~lib/rt/itcms/iter + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 i32.const 0 @@ -775,23 +775,23 @@ i32.and local.set $0 loop $while-continue|2 - global.get $~lib/rt/itcms/toSpace local.get $0 + global.get $~lib/rt/itcms/toSpace i32.ne if + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.ne if local.get $0 - local.get $1 local.get $0 i32.load offset=4 i32.const -4 i32.and + local.get $1 i32.or i32.store offset=4 local.get $0 @@ -944,11 +944,11 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -958,12 +958,12 @@ i32.and local.tee $1 if (result i32) + local.get $0 local.get $1 i32.ctz local.tee $2 i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=4 local.tee $1 @@ -976,6 +976,7 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 i32.ctz local.get $2 @@ -984,7 +985,6 @@ i32.add i32.const 2 i32.shl - local.get $0 i32.add i32.load offset=96 else @@ -1758,19 +1758,19 @@ i32.load offset=8 local.set $3 local.get $0 - local.get $1 global.get $~lib/rt/itcms/white + local.get $1 i32.or i32.store offset=4 local.get $0 local.get $3 i32.store offset=8 local.get $3 + local.get $0 local.get $3 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 local.get $1 @@ -1815,8 +1815,8 @@ i32.and i32.eq if - global.get $~lib/rt/itcms/iter local.get $1 + global.get $~lib/rt/itcms/iter i32.eq if local.get $1 @@ -1876,11 +1876,11 @@ local.get $2 i32.store offset=8 local.get $2 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 i32.and - local.get $0 i32.or i32.store offset=4 end @@ -1894,10 +1894,10 @@ if (result i32) i32.const 1 else + local.get $0 i32.const 1488 i32.load - local.get $0 - i32.lt_u + i32.gt_u if i32.const 1296 i32.const 1360 @@ -1934,11 +1934,11 @@ local.get $0 i32.store offset=8 local.get $0 + local.get $1 local.get $0 i32.load offset=4 i32.const 3 i32.and - local.get $1 i32.or i32.store offset=4 local.get $2