diff --git a/src/builtins.ts b/src/builtins.ts index bb6b4cf0..142011a5 100644 --- a/src/builtins.ts +++ b/src/builtins.ts @@ -4293,7 +4293,7 @@ export function compileBuiltinArraySetWithValue( let linkPrototype = assert(program.linkPrototype); let linkInstance = compiler.resolver.resolveFunction(linkPrototype, [ type, target.type ]); if (!linkInstance) return module.createUnreachable(); - valueExpr = compiler.makeCallInline(linkInstance, [ + valueExpr = compiler.makeCallInlinePrechecked(linkInstance, [ valueExpr, module.createGetLocal(assert(tempThis).index, nativeSizeType) ], 0, true); diff --git a/src/compiler.ts b/src/compiler.ts index 82b8dd9f..98ccb0c2 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -4879,7 +4879,7 @@ export class Compiler extends DiagnosticEmitter { // this = (tempThis = this) thisExpr = module.createTeeLocal(tempThis.index, thisExpr); // value = LINK(value, tempThis) - valueWithCorrectType = this.makeCallInline(linkInstance, [ + valueWithCorrectType = this.makeCallInlinePrechecked(linkInstance, [ valueWithCorrectType, module.createGetLocal(tempThis.index, this.options.nativeSizeType) ], 0, true); @@ -5571,7 +5571,12 @@ export class Compiler extends DiagnosticEmitter { var numArguments = argumentExpressions.length; var signature = instance.signature; var parameterTypes = signature.parameterTypes; + assert(numArguments <= parameterTypes.length); var args = new Array(numArguments); + var flow = this.currentFlow; + + // compile arguments possibly using their own temp locals + var temps = flow.blockLocalsBeforeInlining(instance); for (let i = 0; i < numArguments; ++i) { args[i] = this.compileExpression( argumentExpressions[i], @@ -5580,15 +5585,25 @@ export class Compiler extends DiagnosticEmitter { WrapMode.NONE ); } - return this.makeCallInline(instance, args, thisArg, canAlias); + flow.unblockLocals(temps); + + return this.makeCallInlinePrechecked(instance, args, thisArg, canAlias); } - makeCallInline( + makeCallInlinePrechecked( instance: Function, args: ExpressionRef[], thisArg: ExpressionRef = 0, canAlias: bool = false ): ExpressionRef { + + // CAUTION: Imagine a call like `theCall(a, b)`. Unless canAlias, inlining needs a temporary local for + // each argument, looking something like `BLOCK { t1 = a, t2 = b, inlinedTheCall }`. Now, if argument b, + // which is compiled beforehand, itself required a temporary local, it is likely that it did pick `t1` + // for this, making it something like `BLOCK { t1 = a, t2 = (t1 = c, t1), inlinedTheCall }`, which is + // overwriting t1. Hence, whenever makeCallInline is used, this condition must be taken into account. + // Flows provide the helpers Flow#blockLocalsBeforeInlining and Flow#unblockLocals for this. + var module = this.module; // Create a new inline flow and use it to compile the function as a block @@ -6733,7 +6748,7 @@ export class Compiler extends DiagnosticEmitter { this.currentType = arrayType; return module.createUnreachable(); } - let body = this.makeCallInline(wrapArrayInstance, [ + let body = this.makeCallInlinePrechecked(wrapArrayInstance, [ program.options.isWasm64 ? this.module.createI64(i64_low(bufferAddress), i64_high(bufferAddress)) : this.module.createI32(i64_low(bufferAddress)) @@ -6793,7 +6808,7 @@ export class Compiler extends DiagnosticEmitter { valueExpr = module.createUnreachable(); } else { // value = LINK(value, tempThis) - valueExpr = this.makeCallInline(linkInstance, [ + valueExpr = this.makeCallInlinePrechecked(linkInstance, [ valueExpr, module.createGetLocal(tempThis.index, nativeArrayType) ], 0, true); @@ -8029,7 +8044,7 @@ export class Compiler extends DiagnosticEmitter { if (classInstance.hasDecorator(DecoratorFlags.UNMANAGED)) { // ALLOCATE_UNMANAGED(sizeof()) let allocateInstance = assert(program.allocateUnmanagedInstance); - body = this.makeCallInline(allocateInstance, [ + body = this.makeCallInlinePrechecked(allocateInstance, [ options.isWasm64 ? module.createI64(classInstance.currentMemoryOffset) : module.createI32(classInstance.currentMemoryOffset) @@ -8047,8 +8062,8 @@ export class Compiler extends DiagnosticEmitter { this.currentType = classType; return module.createUnreachable(); } - body = this.makeCallInline(registerInstance, [ - this.makeCallInline(allocateInstance, [ + body = this.makeCallInlinePrechecked(registerInstance, [ + this.makeCallInlinePrechecked(allocateInstance, [ options.isWasm64 ? module.createI64(classInstance.currentMemoryOffset) : module.createI32(classInstance.currentMemoryOffset) diff --git a/src/flow.ts b/src/flow.ts index 928c2e92..a43672b3 100644 --- a/src/flow.ts +++ b/src/flow.ts @@ -400,6 +400,27 @@ export class Flow { return scopedAlias; } + /** Blocks any locals that might be used in an inlining operation. */ + blockLocalsBeforeInlining(instance: Function): Local[] { + var signature = instance.signature; + var parameterTypes = signature.parameterTypes; + var numParameters = parameterTypes.length; + var temps = new Array(numParameters); + for (let i = 0; i < numParameters; ++i) { + temps[i] = this.getTempLocal(parameterTypes[i], false); + } + var thisType = signature.thisType; + if (thisType) temps.push(this.getTempLocal(thisType, false)); + return temps; + } + + /** Unblocks the specified locals. */ + unblockLocals(temps: Local[]): void { + for (let i = 0, k = temps.length; i < k; ++i) { + this.freeTempLocal(temps[i]); + } + } + /** Frees this flow's scoped variables and returns its parent flow. */ freeScopedLocals(): void { if (this.scopedLocals) { diff --git a/tests/compiler/call-super.optimized.wat b/tests/compiler/call-super.optimized.wat index 74c23cbb..959044e0 100644 --- a/tests/compiler/call-super.optimized.wat +++ b/tests/compiler/call-super.optimized.wat @@ -106,7 +106,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -120,7 +120,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/call-super.untouched.wat b/tests/compiler/call-super.untouched.wat index 6d121a35..4dbbfc35 100644 --- a/tests/compiler/call-super.untouched.wat +++ b/tests/compiler/call-super.untouched.wat @@ -141,7 +141,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -156,7 +156,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/constructor.optimized.wat b/tests/compiler/constructor.optimized.wat index ac790d76..876ae3cd 100644 --- a/tests/compiler/constructor.optimized.wat +++ b/tests/compiler/constructor.optimized.wat @@ -116,7 +116,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -130,7 +130,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/constructor.untouched.wat b/tests/compiler/constructor.untouched.wat index 138362f6..168ebc1c 100644 --- a/tests/compiler/constructor.untouched.wat +++ b/tests/compiler/constructor.untouched.wat @@ -151,7 +151,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -166,7 +166,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/exports.optimized.wat b/tests/compiler/exports.optimized.wat index 27d47062..b4620847 100644 --- a/tests/compiler/exports.optimized.wat +++ b/tests/compiler/exports.optimized.wat @@ -131,7 +131,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -145,7 +145,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/exports.untouched.wat b/tests/compiler/exports.untouched.wat index b0ba3415..a7da4e1d 100644 --- a/tests/compiler/exports.untouched.wat +++ b/tests/compiler/exports.untouched.wat @@ -193,7 +193,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -208,7 +208,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/getter-call.optimized.wat b/tests/compiler/getter-call.optimized.wat index 164ddf50..68eddd6b 100644 --- a/tests/compiler/getter-call.optimized.wat +++ b/tests/compiler/getter-call.optimized.wat @@ -85,7 +85,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -99,7 +99,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/getter-call.untouched.wat b/tests/compiler/getter-call.untouched.wat index 4b271b93..5ffa1d6c 100644 --- a/tests/compiler/getter-call.untouched.wat +++ b/tests/compiler/getter-call.untouched.wat @@ -143,7 +143,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -158,7 +158,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/inlining-blocklocals.optimized.wat b/tests/compiler/inlining-blocklocals.optimized.wat new file mode 100644 index 00000000..ce8a09fd --- /dev/null +++ b/tests/compiler/inlining-blocklocals.optimized.wat @@ -0,0 +1,55 @@ +(module + (type $FUNCSIG$v (func)) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (memory $0 1) + (data (i32.const 8) "\01\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s") + (table $0 1 funcref) + (elem (i32.const 0) $null) + (global $inlining-blocklocals/b (mut i32) (i32.const 2)) + (global $inlining-blocklocals/theCall_a (mut i32) (i32.const 0)) + (global $inlining-blocklocals/theCall_b (mut i32) (i32.const 0)) + (export "memory" (memory $0)) + (export "table" (table $0)) + (start $start) + (func $inlining-blocklocals/test (; 1 ;) (type $FUNCSIG$v) + (local $0 i32) + global.get $inlining-blocklocals/b + local.tee $0 + i32.const 1 + i32.add + global.set $inlining-blocklocals/b + i32.const 1 + global.set $inlining-blocklocals/theCall_a + local.get $0 + global.set $inlining-blocklocals/theCall_b + global.get $inlining-blocklocals/theCall_a + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 16 + i32.const 16 + i32.const 2 + call $~lib/env/abort + unreachable + end + global.get $inlining-blocklocals/theCall_b + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 16 + i32.const 17 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $start (; 2 ;) (type $FUNCSIG$v) + call $inlining-blocklocals/test + ) + (func $null (; 3 ;) (type $FUNCSIG$v) + nop + ) +) diff --git a/tests/compiler/inlining-blocklocals.ts b/tests/compiler/inlining-blocklocals.ts new file mode 100644 index 00000000..b03de78e --- /dev/null +++ b/tests/compiler/inlining-blocklocals.ts @@ -0,0 +1,19 @@ +var b: i32 = 2; + +var theCall_a: i32; +var theCall_b: i32; + +@inline function theCall(a: i32, b: i32): void { + theCall_a = a; + theCall_b = b; +} + +function test(): void { + var a = 1; + // no blocking: t1 = a; t2 = (t1 = b) + 1, t1; theCall ✖ + // blocking: t1 = a; t2 = (t3 = b) + 1, t3; theCall ✔ + theCall(a, b++); + assert(theCall_a == 1); + assert(theCall_b == 2); +} +test(); diff --git a/tests/compiler/inlining-blocklocals.untouched.wat b/tests/compiler/inlining-blocklocals.untouched.wat new file mode 100644 index 00000000..9d3b327f --- /dev/null +++ b/tests/compiler/inlining-blocklocals.untouched.wat @@ -0,0 +1,73 @@ +(module + (type $FUNCSIG$v (func)) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) + (memory $0 1) + (data (i32.const 8) "\01\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s\00") + (table $0 1 funcref) + (elem (i32.const 0) $null) + (global $inlining-blocklocals/b (mut i32) (i32.const 2)) + (global $inlining-blocklocals/theCall_a (mut i32) (i32.const 0)) + (global $inlining-blocklocals/theCall_b (mut i32) (i32.const 0)) + (global $~lib/memory/HEAP_BASE i32 (i32.const 64)) + (export "memory" (memory $0)) + (export "table" (table $0)) + (start $start) + (func $inlining-blocklocals/test (; 1 ;) (type $FUNCSIG$v) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 1 + local.set $0 + block $inlining-blocklocals/theCall|inlined.0 + local.get $0 + local.set $2 + block (result i32) + global.get $inlining-blocklocals/b + local.tee $3 + i32.const 1 + i32.add + global.set $inlining-blocklocals/b + local.get $3 + end + local.set $1 + local.get $2 + global.set $inlining-blocklocals/theCall_a + local.get $1 + global.set $inlining-blocklocals/theCall_b + end + global.get $inlining-blocklocals/theCall_a + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 16 + i32.const 2 + call $~lib/env/abort + unreachable + end + global.get $inlining-blocklocals/theCall_b + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 16 + i32.const 17 + i32.const 2 + call $~lib/env/abort + unreachable + end + ) + (func $start:inlining-blocklocals (; 2 ;) (type $FUNCSIG$v) + call $inlining-blocklocals/test + ) + (func $start (; 3 ;) (type $FUNCSIG$v) + call $start:inlining-blocklocals + ) + (func $null (; 4 ;) (type $FUNCSIG$v) + ) +) diff --git a/tests/compiler/inlining.optimized.wat b/tests/compiler/inlining.optimized.wat index ea701405..f1a4912e 100644 --- a/tests/compiler/inlining.optimized.wat +++ b/tests/compiler/inlining.optimized.wat @@ -131,7 +131,7 @@ if i32.const 0 i32.const 48 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -145,7 +145,7 @@ if i32.const 0 i32.const 48 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/inlining.untouched.wat b/tests/compiler/inlining.untouched.wat index 8151e451..09c3f4f9 100644 --- a/tests/compiler/inlining.untouched.wat +++ b/tests/compiler/inlining.untouched.wat @@ -245,11 +245,11 @@ end block $inlining/Foo.method_static|inlined.0 (result i32) i32.const 42 - local.set $2 - i32.const 2 local.set $3 - local.get $2 + i32.const 2 + local.set $2 local.get $3 + local.get $2 i32.add end i32.const 44 @@ -267,12 +267,12 @@ local.set $7 block $inlining/Foo#method_this|inlined.0 (result i32) local.get $7 - local.set $3 - i32.const 43 - local.set $2 - i32.const 3 local.set $4 - local.get $3 + i32.const 43 + local.set $3 + i32.const 3 + local.set $2 + local.get $4 end i32.const 123 i32.eq @@ -407,7 +407,7 @@ if i32.const 0 i32.const 48 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -422,7 +422,7 @@ if i32.const 0 i32.const 48 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -447,13 +447,13 @@ (local $5 i32) block $inlining/Bar#constructor|inlined.0 (result i32) i32.const 0 - local.set $0 - i32.const 4 local.set $1 + i32.const 4 + local.set $0 block $inlining/Baz#constructor|inlined.0 (result i32) - local.get $0 + local.get $1 if (result i32) - local.get $0 + local.get $1 else block $~lib/runtime/ALLOCATE|inlined.0 (result i32) i32.const 16 @@ -466,11 +466,11 @@ i32.const 2 call $~lib/runtime/doRegister end - local.set $2 - i32.const 2 local.set $3 + i32.const 2 + local.set $2 block (result i32) - local.get $2 + local.get $3 i32.eqz if block $~lib/runtime/REGISTER|inlined.0 (result i32) @@ -485,31 +485,31 @@ i32.const 3 call $~lib/runtime/doRegister end - local.set $2 + local.set $3 end - local.get $2 + local.get $3 i32.const 1 i32.store - local.get $2 + local.get $3 i32.const 0 i32.store offset=4 - local.get $2 + local.get $3 end - local.get $3 - i32.store offset=4 local.get $2 + i32.store offset=4 + local.get $3 end - local.set $0 - local.get $0 + local.set $1 + local.get $1 i32.const 3 i32.store offset=8 - local.get $0 + local.get $1 i32.const 0 i32.store offset=12 - local.get $0 local.get $1 - i32.store offset=12 local.get $0 + i32.store offset=12 + local.get $1 end local.set $5 local.get $5 diff --git a/tests/compiler/new-without-allocator.untouched.wat b/tests/compiler/new-without-allocator.untouched.wat index 88dd8b39..886f4e0f 100644 --- a/tests/compiler/new-without-allocator.untouched.wat +++ b/tests/compiler/new-without-allocator.untouched.wat @@ -57,7 +57,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -72,7 +72,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/number.optimized.wat b/tests/compiler/number.optimized.wat index 85af8213..804baca1 100644 --- a/tests/compiler/number.optimized.wat +++ b/tests/compiler/number.optimized.wat @@ -302,7 +302,7 @@ if i32.const 0 i32.const 464 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -316,7 +316,7 @@ if i32.const 0 i32.const 464 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -457,32 +457,32 @@ (local $7 i32) (local $8 i32) (local $9 i64) - (local $10 i32) + (local $10 i64) (local $11 i64) (local $12 i32) - (local $13 i64) + (local $13 i32) (local $14 i64) local.get $3 local.get $1 i64.sub - local.set $11 + local.set $9 i64.const 1 i32.const 0 local.get $4 i32.sub - local.tee $10 + local.tee $12 i64.extend_i32_s - local.tee $13 + local.tee $1 i64.shl - local.tee $9 + local.tee $10 i64.const 1 i64.sub local.tee $14 local.get $3 i64.and - local.set $1 + local.set $11 local.get $3 - local.get $13 + local.get $1 i64.shr_u i32.wrap_i64 local.tee $6 @@ -490,14 +490,14 @@ local.set $8 i32.const 1628 i32.load - local.set $12 + local.set $13 loop $continue|0 local.get $8 i32.const 0 i32.gt_s if local.get $8 - local.set $2 + local.set $4 block $break|1 block $case10|1 block $case9|1 @@ -513,7 +513,7 @@ i32.const 10 i32.ne if - local.get $2 + local.get $4 i32.const 1 i32.sub br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case10|1 @@ -521,7 +521,7 @@ local.get $6 i32.const 1000000000 i32.div_u - local.set $4 + local.set $2 local.get $6 i32.const 1000000000 i32.rem_u @@ -531,7 +531,7 @@ local.get $6 i32.const 100000000 i32.div_u - local.set $4 + local.set $2 local.get $6 i32.const 100000000 i32.rem_u @@ -541,7 +541,7 @@ local.get $6 i32.const 10000000 i32.div_u - local.set $4 + local.set $2 local.get $6 i32.const 10000000 i32.rem_u @@ -551,7 +551,7 @@ local.get $6 i32.const 1000000 i32.div_u - local.set $4 + local.set $2 local.get $6 i32.const 1000000 i32.rem_u @@ -561,7 +561,7 @@ local.get $6 i32.const 100000 i32.div_u - local.set $4 + local.set $2 local.get $6 i32.const 100000 i32.rem_u @@ -571,7 +571,7 @@ local.get $6 i32.const 10000 i32.div_u - local.set $4 + local.set $2 local.get $6 i32.const 10000 i32.rem_u @@ -581,7 +581,7 @@ local.get $6 i32.const 1000 i32.div_u - local.set $4 + local.set $2 local.get $6 i32.const 1000 i32.rem_u @@ -591,7 +591,7 @@ local.get $6 i32.const 100 i32.div_u - local.set $4 + local.set $2 local.get $6 i32.const 100 i32.rem_u @@ -601,7 +601,7 @@ local.get $6 i32.const 10 i32.div_u - local.set $4 + local.set $2 local.get $6 i32.const 10 i32.rem_u @@ -609,29 +609,29 @@ br $break|1 end local.get $6 - local.set $4 + local.set $2 i32.const 0 local.set $6 br $break|1 end i32.const 0 - local.set $4 + local.set $2 end - local.get $4 + local.get $2 local.get $7 i32.or if local.get $7 - local.tee $2 + local.tee $4 i32.const 1 i32.add local.set $7 - local.get $2 + local.get $4 i32.const 1 i32.shl local.get $0 i32.add - local.get $4 + local.get $2 i32.const 65535 i32.and i32.const 48 @@ -644,12 +644,12 @@ local.set $8 local.get $6 i64.extend_i32_u - local.get $10 + local.get $12 i64.extend_i32_s i64.shl - local.get $1 + local.get $11 i64.add - local.tee $3 + local.tee $1 local.get $5 i64.le_u if @@ -657,43 +657,38 @@ local.get $8 i32.add global.set $~lib/util/number/_K - local.get $5 - local.set $9 - local.get $3 - local.set $1 local.get $8 i32.const 2 i32.shl - local.get $12 + local.get $13 i32.add i64.load32_u - local.get $10 + local.get $12 i64.extend_i32_s i64.shl - local.set $3 - local.get $11 - local.set $5 + local.set $10 local.get $7 + local.tee $4 i32.const 1 i32.sub i32.const 1 i32.shl local.get $0 i32.add - local.tee $4 + local.tee $7 i32.load16_u local.set $6 loop $continue|2 block (result i32) local.get $1 - local.get $5 + local.get $9 i64.lt_u local.tee $0 if - local.get $9 + local.get $5 local.get $1 i64.sub - local.get $3 + local.get $10 i64.ge_u local.set $0 end @@ -701,21 +696,21 @@ end if (result i32) local.get $1 - local.get $3 + local.get $10 i64.add - local.get $5 + local.get $9 i64.lt_u local.tee $0 if (result i32) local.get $0 else - local.get $5 + local.get $9 local.get $1 i64.sub local.get $1 - local.get $3 + local.get $10 i64.add - local.get $5 + local.get $9 i64.sub i64.gt_u end @@ -728,16 +723,16 @@ i32.sub local.set $6 local.get $1 - local.get $3 + local.get $10 i64.add local.set $1 br $continue|2 end end - local.get $4 + local.get $7 local.get $6 i32.store16 - local.get $7 + local.get $4 return end br $continue|0 @@ -748,14 +743,14 @@ i64.const 10 i64.mul local.set $5 - local.get $1 + local.get $11 i64.const 10 i64.mul - local.tee $1 - local.get $10 + local.tee $11 + local.get $12 i64.extend_i32_s i64.shr_u - local.tee $3 + local.tee $1 local.get $7 i64.extend_i32_s i64.or @@ -763,16 +758,16 @@ i64.ne if local.get $7 - local.tee $4 + local.tee $2 i32.const 1 i32.add local.set $7 - local.get $4 + local.get $2 i32.const 1 i32.shl local.get $0 i32.add - local.get $3 + local.get $1 i32.wrap_i64 i32.const 65535 i32.and @@ -784,10 +779,10 @@ i32.const 1 i32.sub local.set $8 - local.get $1 + local.get $11 local.get $14 i64.and - local.tee $1 + local.tee $11 local.get $5 i64.ge_u br_if $continue|3 @@ -796,87 +791,85 @@ local.get $8 i32.add global.set $~lib/util/number/_K - local.get $1 - local.set $3 - local.get $9 + local.get $11 local.set $1 i32.const 0 local.get $8 i32.sub i32.const 2 i32.shl - local.get $12 + local.get $13 i32.add i64.load32_u - local.get $11 + local.get $9 i64.mul local.set $9 local.get $7 - local.tee $6 + local.tee $2 i32.const 1 i32.sub i32.const 1 i32.shl local.get $0 i32.add - local.tee $4 + local.tee $7 i32.load16_u - local.set $7 + local.set $4 loop $continue|4 block (result i32) - local.get $3 + local.get $1 local.get $9 i64.lt_u - local.tee $2 + local.tee $0 if local.get $5 - local.get $3 - i64.sub local.get $1 + i64.sub + local.get $10 i64.ge_u - local.set $2 + local.set $0 end - local.get $2 + local.get $0 end if (result i32) local.get $1 - local.get $3 + local.get $10 i64.add local.get $9 i64.lt_u - local.tee $2 + local.tee $0 if (result i32) - local.get $2 + local.get $0 else local.get $9 - local.get $3 + local.get $1 i64.sub local.get $1 - local.get $3 + local.get $10 i64.add local.get $9 i64.sub i64.gt_u end else - local.get $2 + local.get $0 end if - local.get $7 + local.get $4 i32.const 1 i32.sub - local.set $7 + local.set $4 local.get $1 - local.get $3 + local.get $10 i64.add - local.set $3 + local.set $1 br $continue|4 end end - local.get $4 local.get $7 + local.get $4 i32.store16 - local.get $6 + local.get $2 ) (func $~lib/util/memory/memcpy (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -1972,6 +1965,7 @@ (func $~lib/util/number/prettify (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $2 i32.eqz if @@ -1991,78 +1985,78 @@ local.get $1 local.get $2 i32.add - local.tee $3 - i32.le_s local.tee $4 + i32.le_s + local.tee $3 if - local.get $3 + local.get $4 i32.const 21 i32.le_s - local.set $4 + local.set $3 end - local.get $4 + local.get $3 if (result i32) local.get $1 - local.set $4 + local.set $3 loop $repeat|0 block $break|0 - local.get $4 local.get $3 + local.get $4 i32.ge_s br_if $break|0 - local.get $4 + local.get $3 i32.const 1 i32.shl local.get $0 i32.add i32.const 48 i32.store16 - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $repeat|0 end end - local.get $3 + local.get $4 i32.const 1 i32.shl local.get $0 i32.add i32.const 3145774 i32.store - local.get $3 + local.get $4 i32.const 2 i32.add else - local.get $3 + local.get $4 i32.const 0 i32.gt_s - local.tee $4 + local.tee $3 if - local.get $3 + local.get $4 i32.const 21 i32.le_s - local.set $4 + local.set $3 end - local.get $4 + local.get $3 if (result i32) - local.get $3 + local.get $4 i32.const 1 i32.shl local.get $0 i32.add - local.tee $4 + local.tee $3 i32.const 2 i32.add - local.get $4 + local.get $3 i32.const 0 local.get $2 i32.sub i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $4 + local.get $3 i32.const 46 i32.store16 local.get $1 @@ -2070,21 +2064,21 @@ i32.add else i32.const -6 - local.get $3 + local.get $4 i32.lt_s - local.tee $4 + local.tee $3 if - local.get $3 + local.get $4 i32.const 0 i32.le_s - local.set $4 + local.set $3 end - local.get $4 + local.get $3 if (result i32) i32.const 2 - local.get $3 + local.get $4 i32.sub - local.tee $4 + local.tee $3 i32.const 1 i32.shl local.get $0 @@ -2098,29 +2092,29 @@ i32.const 3014704 i32.store i32.const 2 - local.set $3 + local.set $5 loop $repeat|1 block $break|1 + local.get $5 local.get $3 - local.get $4 i32.ge_s br_if $break|1 - local.get $3 + local.get $5 i32.const 1 i32.shl local.get $0 i32.add i32.const 48 i32.store16 - local.get $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $repeat|1 end end local.get $1 - local.get $4 + local.get $3 i32.add else local.get $1 @@ -2133,9 +2127,9 @@ local.get $0 i32.const 4 i32.add - local.tee $4 + local.tee $5 block (result i32) - local.get $3 + local.get $4 i32.const 1 i32.sub local.tee $3 @@ -2156,7 +2150,7 @@ i32.add local.tee $2 call $~lib/util/number/utoa32_lut - local.get $4 + local.get $5 i32.const 45 i32.const 43 local.get $0 @@ -2191,37 +2185,37 @@ local.get $0 i32.const 4 i32.add - local.tee $0 + local.tee $3 block (result i32) - local.get $3 + local.get $4 i32.const 1 i32.sub - local.tee $3 + local.tee $0 i32.const 0 i32.lt_s - local.tee $4 + local.tee $5 if i32.const 0 - local.get $3 + local.get $0 i32.sub - local.set $3 + local.set $0 end - local.get $3 + local.get $0 end - local.get $3 + local.get $0 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.tee $2 + local.tee $0 call $~lib/util/number/utoa32_lut - local.get $0 + local.get $3 i32.const 45 i32.const 43 - local.get $4 + local.get $5 select i32.store16 + local.get $0 local.get $1 - local.get $2 i32.add i32.const 2 i32.add @@ -2233,8 +2227,8 @@ (func $~lib/util/number/dtoa_core (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i64) (local $2 i64) - (local $3 i64) - (local $4 i32) + (local $3 i32) + (local $4 i64) (local $5 i64) (local $6 i64) (local $7 i64) @@ -2260,8 +2254,8 @@ f64.add local.tee $9 i32.trunc_f64_s - local.tee $4 - local.get $4 + local.tee $3 + local.get $3 f64.convert_i32_s local.get $9 f64.ne @@ -2270,7 +2264,7 @@ i32.shr_s i32.const 1 i32.add - local.tee $4 + local.tee $3 i32.const 3 i32.shl local.tee $10 @@ -2284,14 +2278,14 @@ global.set $~lib/util/number/_frc_pow i32.const 1556 i32.load - local.get $4 + local.get $3 i32.const 1 i32.shl i32.add i32.load16_s global.set $~lib/util/number/_exp_pow global.get $~lib/util/number/_frc_pow - local.tee $5 + local.tee $6 i64.const 4294967295 i64.and local.tee $2 @@ -2299,7 +2293,7 @@ i64.mul i64.const 0 i64.add - local.tee $3 + local.tee $4 i64.const 4294967295 i64.and i64.const 0 @@ -2308,34 +2302,34 @@ i64.add i64.const 32 i64.shr_u - local.get $5 + local.get $6 i64.const 32 i64.shr_u - local.tee $6 + local.tee $7 i64.const 2147483648 i64.mul - local.get $3 + local.get $4 i64.const 32 i64.shr_u i64.add i64.add local.set $11 + local.get $7 global.get $~lib/util/number/_frc_plus - local.tee $3 + local.tee $4 i64.const 4294967295 i64.and - local.tee $7 - local.get $6 + local.tee $5 i64.mul local.get $2 local.tee $1 - local.get $3 + local.get $4 i64.const 32 i64.shr_u local.tee $2 i64.mul local.get $1 - local.get $7 + local.get $5 i64.mul i64.const 32 i64.shr_u @@ -2349,16 +2343,16 @@ i64.const 32 i64.shr_u local.get $2 - local.get $6 + local.get $7 i64.mul local.get $1 i64.const 32 i64.shr_u i64.add i64.add - local.set $1 - local.get $5 - local.tee $3 + local.set $5 + local.get $6 + local.tee $1 i64.const 4294967295 i64.and local.set $2 @@ -2366,27 +2360,27 @@ local.get $0 local.get $11 global.get $~lib/util/number/_exp_pow - local.tee $4 + local.tee $3 i32.const 2 i32.add - local.get $1 + local.get $5 i64.const 1 i64.sub - local.tee $5 - local.get $4 + local.tee $6 + local.get $3 local.get $8 i32.add i32.const -64 i32.sub - local.get $5 + local.get $6 + local.get $1 + i64.const 32 + i64.shr_u + local.tee $5 global.get $~lib/util/number/_frc_minus local.tee $1 i64.const 4294967295 i64.and - local.tee $6 - local.get $3 - i64.const 32 - i64.shr_u local.tee $7 i64.mul local.get $2 @@ -2396,12 +2390,12 @@ local.tee $1 i64.mul local.get $2 - local.get $6 + local.get $7 i64.mul i64.const 32 i64.shr_u i64.add - local.tee $3 + local.tee $4 i64.const 4294967295 i64.and i64.add @@ -2410,9 +2404,9 @@ i64.const 32 i64.shr_u local.get $1 - local.get $7 + local.get $5 i64.mul - local.get $3 + local.get $4 i64.const 32 i64.shr_u i64.add diff --git a/tests/compiler/number.untouched.wat b/tests/compiler/number.untouched.wat index 4f469d75..f63eeaca 100644 --- a/tests/compiler/number.untouched.wat +++ b/tests/compiler/number.untouched.wat @@ -399,7 +399,7 @@ if i32.const 0 i32.const 464 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -414,7 +414,7 @@ if i32.const 0 i32.const 464 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -470,14 +470,14 @@ local.set $4 block $~lib/util/number/utoa32_core|inlined.0 local.get $4 - local.set $3 + local.set $6 local.get $0 local.set $5 local.get $2 - local.set $6 - local.get $3 - local.get $5 + local.set $3 local.get $6 + local.get $5 + local.get $3 call $~lib/util/number/utoa32_lut end local.get $1 @@ -488,8 +488,8 @@ end block $~lib/runtime/REGISTER|inlined.0 (result i32) local.get $4 - local.set $6 - local.get $6 + local.set $3 + local.get $3 i32.const 1 call $~lib/runtime/doRegister end @@ -931,13 +931,13 @@ global.set $~lib/util/number/_K block $~lib/util/number/grisuRound|inlined.0 local.get $0 - local.set $18 - local.get $15 local.set $20 + local.get $15 + local.set $18 local.get $5 - local.set $21 + local.set $24 local.get $19 - local.set $22 + local.set $23 local.get $16 local.get $14 i32.const 2 @@ -947,11 +947,11 @@ local.get $7 i64.extend_i32_s i64.shl - local.set $23 + local.set $22 local.get $10 - local.set $24 - local.get $18 + local.set $21 local.get $20 + local.get $18 i32.const 1 i32.sub i32.const 1 @@ -963,37 +963,37 @@ local.set $26 block $break|2 loop $continue|2 - local.get $22 - local.get $24 + local.get $23 + local.get $21 i64.lt_u local.tee $27 if (result i32) - local.get $21 - local.get $22 - i64.sub + local.get $24 local.get $23 + i64.sub + local.get $22 i64.ge_u else local.get $27 end local.tee $27 if (result i32) - local.get $22 local.get $23 + local.get $22 i64.add - local.get $24 + local.get $21 i64.lt_u local.tee $27 if (result i32) local.get $27 else - local.get $24 - local.get $22 - i64.sub - local.get $22 + local.get $21 local.get $23 + i64.sub + local.get $23 + local.get $22 i64.add - local.get $24 + local.get $21 i64.sub i64.gt_u end @@ -1006,10 +1006,10 @@ i32.const 1 i32.sub local.set $26 - local.get $22 local.get $23 + local.get $22 i64.add - local.set $22 + local.set $23 end br $continue|2 end @@ -1101,9 +1101,9 @@ local.set $10 block $~lib/util/number/grisuRound|inlined.1 local.get $0 - local.set $17 - local.get $15 local.set $26 + local.get $15 + local.set $17 local.get $5 local.set $24 local.get $13 @@ -1112,8 +1112,8 @@ local.set $22 local.get $10 local.set $21 - local.get $17 local.get $26 + local.get $17 i32.const 1 i32.sub i32.const 1 @@ -1122,13 +1122,13 @@ local.set $25 local.get $25 i32.load16_u - local.set $20 + local.set $18 block $break|4 loop $continue|4 local.get $23 local.get $21 i64.lt_u - local.tee $18 + local.tee $20 if (result i32) local.get $24 local.get $23 @@ -1136,18 +1136,18 @@ local.get $22 i64.ge_u else - local.get $18 + local.get $20 end - local.tee $18 + local.tee $20 if (result i32) local.get $23 local.get $22 i64.add local.get $21 i64.lt_u - local.tee $18 + local.tee $20 if (result i32) - local.get $18 + local.get $20 else local.get $21 local.get $23 @@ -1160,14 +1160,14 @@ i64.gt_u end else - local.get $18 + local.get $20 end if block - local.get $20 + local.get $18 i32.const 1 i32.sub - local.set $20 + local.set $18 local.get $23 local.get $22 i64.add @@ -1178,7 +1178,7 @@ end end local.get $25 - local.get $20 + local.get $18 i32.store16 end local.get $15 @@ -2394,6 +2394,8 @@ ) (func $~lib/memory/memory.copy (; 18 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 @@ -2406,9 +2408,9 @@ i32.add local.get $0 i32.le_u - local.tee $3 + local.tee $5 if (result i32) - local.get $3 + local.get $5 else local.get $0 local.get $2 @@ -2453,19 +2455,19 @@ local.set $2 block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -2510,19 +2512,19 @@ block block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -2821,40 +2823,40 @@ local.get $0 i32.const 4 i32.add - local.set $4 + local.set $5 local.get $3 i32.const 1 i32.sub - local.set $5 - local.get $5 + local.set $4 + local.get $4 i32.const 0 i32.lt_s local.set $6 local.get $6 if i32.const 0 - local.get $5 + local.get $4 i32.sub - local.set $5 + local.set $4 end - local.get $5 + local.get $4 call $~lib/util/number/decimalCount32 i32.const 1 i32.add local.set $7 block $~lib/util/number/utoa32_core|inlined.1 - local.get $4 - local.set $8 local.get $5 + local.set $10 + local.get $4 local.set $9 local.get $7 - local.set $10 - local.get $8 - local.get $9 + local.set $8 local.get $10 + local.get $9 + local.get $8 call $~lib/util/number/utoa32_lut end - local.get $4 + local.get $5 i32.const 45 i32.const 43 local.get $6 @@ -2897,46 +2899,46 @@ i32.add i32.const 4 i32.add - local.set $6 + local.set $4 local.get $3 i32.const 1 i32.sub - local.set $5 - local.get $5 + local.set $6 + local.get $6 i32.const 0 i32.lt_s - local.set $4 - local.get $4 + local.set $5 + local.get $5 if i32.const 0 - local.get $5 + local.get $6 i32.sub - local.set $5 + local.set $6 end - local.get $5 + local.get $6 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.set $10 + local.set $8 block $~lib/util/number/utoa32_core|inlined.2 - local.get $6 - local.set $9 - local.get $5 - local.set $8 - local.get $10 + local.get $4 local.set $11 - local.get $9 + local.get $6 + local.set $10 local.get $8 + local.set $9 local.get $11 + local.get $10 + local.get $9 call $~lib/util/number/utoa32_lut end - local.get $6 + local.get $4 i32.const 45 i32.const 43 - local.get $4 + local.get $5 select i32.store16 - local.get $10 + local.get $8 end i32.add local.set $1 @@ -2999,9 +3001,9 @@ local.get $1 local.set $3 local.get $0 - local.set $4 - local.get $2 local.set $5 + local.get $2 + local.set $4 local.get $3 i64.reinterpret_f64 local.set $6 @@ -3159,22 +3161,22 @@ local.set $14 block $~lib/util/number/umul64f|inlined.0 (result i64) local.get $9 - local.set $10 - local.get $12 local.set $17 - local.get $10 + local.get $12 + local.set $10 + local.get $17 i64.const 4294967295 i64.and local.set $18 - local.get $17 + local.get $10 i64.const 4294967295 i64.and local.set $19 - local.get $10 + local.get $17 i64.const 32 i64.shr_u local.set $20 - local.get $17 + local.get $10 i64.const 32 i64.shr_u local.set $21 @@ -3221,53 +3223,53 @@ local.set $24 block $~lib/util/number/umul64e|inlined.0 (result i32) local.get $7 - local.set $15 - local.get $14 local.set $11 - local.get $15 + local.get $14 + local.set $15 local.get $11 + local.get $15 i32.add i32.const 64 i32.add end - local.set $11 + local.set $15 block $~lib/util/number/umul64f|inlined.1 (result i64) global.get $~lib/util/number/_frc_plus - local.set $23 - local.get $12 local.set $22 - local.get $23 + local.get $12 + local.set $23 + local.get $22 i64.const 4294967295 i64.and local.set $21 - local.get $22 + local.get $23 i64.const 4294967295 i64.and local.set $20 - local.get $23 + local.get $22 i64.const 32 i64.shr_u local.set $19 - local.get $22 + local.get $23 i64.const 32 i64.shr_u local.set $18 local.get $21 local.get $20 i64.mul - local.set $17 + local.set $10 local.get $19 local.get $20 i64.mul - local.get $17 + local.get $10 i64.const 32 i64.shr_u i64.add - local.set $10 + local.set $17 local.get $21 local.get $18 i64.mul - local.get $10 + local.get $17 i64.const 4294967295 i64.and i64.add @@ -3276,10 +3278,10 @@ i64.const 2147483647 i64.add local.set $25 - local.get $10 + local.get $17 i64.const 32 i64.shr_u - local.set $10 + local.set $17 local.get $25 i64.const 32 i64.shr_u @@ -3287,7 +3289,7 @@ local.get $19 local.get $18 i64.mul - local.get $10 + local.get $17 i64.add local.get $25 i64.add @@ -3297,16 +3299,16 @@ local.set $25 block $~lib/util/number/umul64e|inlined.1 (result i32) global.get $~lib/util/number/_exp - local.set $15 - local.get $14 local.set $26 - local.get $15 + local.get $14 + local.set $11 local.get $26 + local.get $11 i32.add i32.const 64 i32.add end - local.set $26 + local.set $11 block $~lib/util/number/umul64f|inlined.2 (result i64) global.get $~lib/util/number/_frc_minus local.set $10 @@ -3331,19 +3333,19 @@ local.get $18 local.get $19 i64.mul - local.set $22 + local.set $23 local.get $20 local.get $19 i64.mul - local.get $22 + local.get $23 i64.const 32 i64.shr_u i64.add - local.set $23 + local.set $22 local.get $18 local.get $21 i64.mul - local.get $23 + local.get $22 i64.const 4294967295 i64.and i64.add @@ -3352,10 +3354,10 @@ i64.const 2147483647 i64.add local.set $27 - local.get $23 + local.get $22 i64.const 32 i64.shr_u - local.set $23 + local.set $22 local.get $27 i64.const 32 i64.shr_u @@ -3363,7 +3365,7 @@ local.get $20 local.get $21 i64.mul - local.get $23 + local.get $22 i64.add local.get $27 i64.add @@ -3374,14 +3376,14 @@ local.get $25 local.get $27 i64.sub - local.set $23 - local.get $4 - local.get $24 - local.get $11 - local.get $25 - local.get $26 - local.get $23 + local.set $22 local.get $5 + local.get $24 + local.get $15 + local.get $25 + local.get $11 + local.get $22 + local.get $4 call $~lib/util/number/genDigits end local.set $28 diff --git a/tests/compiler/object-literal.optimized.wat b/tests/compiler/object-literal.optimized.wat index 55797952..c2f6e76c 100644 --- a/tests/compiler/object-literal.optimized.wat +++ b/tests/compiler/object-literal.optimized.wat @@ -106,7 +106,7 @@ if i32.const 0 i32.const 48 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -120,7 +120,7 @@ if i32.const 0 i32.const 48 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/object-literal.untouched.wat b/tests/compiler/object-literal.untouched.wat index fc9db2bd..20f64798 100644 --- a/tests/compiler/object-literal.untouched.wat +++ b/tests/compiler/object-literal.untouched.wat @@ -143,7 +143,7 @@ if i32.const 0 i32.const 48 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -158,7 +158,7 @@ if i32.const 0 i32.const 48 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/optional-typeparameters.optimized.wat b/tests/compiler/optional-typeparameters.optimized.wat index bdd39584..a7a6a8bb 100644 --- a/tests/compiler/optional-typeparameters.optimized.wat +++ b/tests/compiler/optional-typeparameters.optimized.wat @@ -100,7 +100,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -114,7 +114,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/optional-typeparameters.untouched.wat b/tests/compiler/optional-typeparameters.untouched.wat index 752be6bf..cd804e59 100644 --- a/tests/compiler/optional-typeparameters.untouched.wat +++ b/tests/compiler/optional-typeparameters.untouched.wat @@ -150,7 +150,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -165,7 +165,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/allocator_arena.optimized.wat b/tests/compiler/std/allocator_arena.optimized.wat index c6cd247c..94bd9521 100644 --- a/tests/compiler/std/allocator_arena.optimized.wat +++ b/tests/compiler/std/allocator_arena.optimized.wat @@ -1398,9 +1398,9 @@ i32.const 42 local.set $0 i32.const 0 - global.get $std/allocator_arena/ptr1 - local.tee $1 global.get $std/allocator_arena/ptr2 + local.tee $1 + global.get $std/allocator_arena/ptr1 local.tee $2 i32.eq br_if $~lib/util/memory/memcmp|inlined.0 @@ -1411,10 +1411,10 @@ i32.ne local.tee $3 if (result i32) - local.get $1 - i32.load8_u local.get $2 i32.load8_u + local.get $1 + i32.load8_u i32.eq else local.get $3 @@ -1424,23 +1424,23 @@ i32.const 1 i32.sub local.set $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 local.get $2 i32.const 1 i32.add local.set $2 + local.get $1 + i32.const 1 + i32.add + local.set $1 br $continue|2 end end local.get $0 if (result i32) - local.get $1 - i32.load8_u local.get $2 i32.load8_u + local.get $1 + i32.load8_u i32.sub else i32.const 0 diff --git a/tests/compiler/std/allocator_arena.untouched.wat b/tests/compiler/std/allocator_arena.untouched.wat index 293188e4..0c8bdaf6 100644 --- a/tests/compiler/std/allocator_arena.untouched.wat +++ b/tests/compiler/std/allocator_arena.untouched.wat @@ -107,7 +107,8 @@ (func $~lib/memory/memory.fill (; 2 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -183,13 +184,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -303,13 +304,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -319,7 +320,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -328,22 +329,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 @@ -1563,6 +1564,8 @@ ) (func $~lib/memory/memory.copy (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 @@ -1575,9 +1578,9 @@ i32.add local.get $0 i32.le_u - local.tee $3 + local.tee $5 if (result i32) - local.get $3 + local.get $5 else local.get $0 local.get $2 @@ -1622,19 +1625,19 @@ local.set $2 block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -1679,19 +1682,19 @@ block block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -1911,19 +1914,19 @@ end block $~lib/memory/memory.compare|inlined.0 (result i32) global.get $std/allocator_arena/ptr1 - local.set $0 + local.set $2 global.get $std/allocator_arena/ptr2 local.set $1 global.get $std/allocator_arena/size - local.set $2 + local.set $0 block $~lib/util/memory/memcmp|inlined.0 (result i32) - local.get $0 - local.set $3 - local.get $1 - local.set $4 local.get $2 local.set $5 - local.get $3 + local.get $1 + local.set $4 + local.get $0 + local.set $3 + local.get $5 local.get $4 i32.eq if @@ -1932,12 +1935,12 @@ end block $break|2 loop $continue|2 - local.get $5 + local.get $3 i32.const 0 i32.ne local.tee $6 if (result i32) - local.get $3 + local.get $5 i32.load8_u local.get $4 i32.load8_u @@ -1947,14 +1950,14 @@ end if block - local.get $5 - i32.const 1 - i32.sub - local.set $5 local.get $3 i32.const 1 - i32.add + i32.sub local.set $3 + local.get $5 + i32.const 1 + i32.add + local.set $5 local.get $4 i32.const 1 i32.add @@ -1964,9 +1967,9 @@ end end end - local.get $5 + local.get $3 if (result i32) - local.get $3 + local.get $5 i32.load8_u local.get $4 i32.load8_u diff --git a/tests/compiler/std/array-literal.optimized.wat b/tests/compiler/std/array-literal.optimized.wat index 238ad2f4..00f7cf06 100644 --- a/tests/compiler/std/array-literal.optimized.wat +++ b/tests/compiler/std/array-literal.optimized.wat @@ -374,7 +374,7 @@ if i32.const 0 i32.const 224 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -388,7 +388,7 @@ if i32.const 0 i32.const 224 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -436,7 +436,7 @@ if i32.const 0 i32.const 224 - i32.const 233 + i32.const 251 i32.const 57 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array-literal.untouched.wat b/tests/compiler/std/array-literal.untouched.wat index 94995810..ceb84956 100644 --- a/tests/compiler/std/array-literal.untouched.wat +++ b/tests/compiler/std/array-literal.untouched.wat @@ -209,7 +209,8 @@ (func $~lib/memory/memory.fill (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -285,13 +286,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -405,13 +406,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -421,7 +422,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -430,22 +431,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 @@ -470,7 +471,7 @@ if i32.const 0 i32.const 224 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -485,7 +486,7 @@ if i32.const 0 i32.const 224 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -545,7 +546,7 @@ if i32.const 0 i32.const 224 - i32.const 233 + i32.const 251 i32.const 57 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index ade649cd..81675dfd 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -601,7 +601,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -615,7 +615,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -663,7 +663,7 @@ if i32.const 0 i32.const 16 - i32.const 233 + i32.const 251 i32.const 57 call $~lib/env/abort unreachable @@ -5157,20 +5157,20 @@ local.get $0 return end - local.get $3 + local.get $1 local.set $4 local.get $2 i32.const 256 i32.lt_s if - local.get $4 + local.get $3 local.get $2 - local.get $1 + local.get $4 call $~lib/util/sort/insertionSort else - local.get $4 + local.get $3 local.get $2 - local.get $1 + local.get $4 call $~lib/util/sort/weakHeapSort end local.get $0 @@ -6733,44 +6733,44 @@ ) (func $~lib/util/number/genDigits (; 128 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) - (local $8 i32) - (local $9 i64) - (local $10 i32) + (local $8 i64) + (local $9 i32) + (local $10 i64) (local $11 i64) (local $12 i32) - (local $13 i64) + (local $13 i32) (local $14 i64) local.get $3 local.get $1 i64.sub - local.set $11 + local.set $8 i64.const 1 i32.const 0 local.get $4 i32.sub - local.tee $10 + local.tee $12 i64.extend_i32_s - local.tee $13 + local.tee $1 i64.shl - local.tee $9 + local.tee $10 i64.const 1 i64.sub local.tee $14 local.get $3 i64.and - local.set $1 + local.set $11 local.get $3 - local.get $13 + local.get $1 i64.shr_u i32.wrap_i64 local.tee $7 call $~lib/util/number/decimalCount32 - local.set $8 + local.set $9 i32.const 5412 i32.load - local.set $12 + local.set $13 loop $continue|0 - local.get $8 + local.get $9 i32.const 0 i32.gt_s if @@ -6785,12 +6785,12 @@ block $case3|1 block $case2|1 block $case1|1 - local.get $8 - local.tee $2 + local.get $9 + local.tee $4 i32.const 10 i32.ne if - local.get $2 + local.get $4 i32.const 1 i32.sub br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case10|1 @@ -6798,7 +6798,7 @@ local.get $7 i32.const 1000000000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 1000000000 i32.rem_u @@ -6808,7 +6808,7 @@ local.get $7 i32.const 100000000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 100000000 i32.rem_u @@ -6818,7 +6818,7 @@ local.get $7 i32.const 10000000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 10000000 i32.rem_u @@ -6828,7 +6828,7 @@ local.get $7 i32.const 1000000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 1000000 i32.rem_u @@ -6838,7 +6838,7 @@ local.get $7 i32.const 100000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 100000 i32.rem_u @@ -6848,7 +6848,7 @@ local.get $7 i32.const 10000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 10000 i32.rem_u @@ -6858,7 +6858,7 @@ local.get $7 i32.const 1000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 1000 i32.rem_u @@ -6868,7 +6868,7 @@ local.get $7 i32.const 100 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 100 i32.rem_u @@ -6878,7 +6878,7 @@ local.get $7 i32.const 10 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 10 i32.rem_u @@ -6886,110 +6886,105 @@ br $break|1 end local.get $7 - local.set $4 + local.set $2 i32.const 0 local.set $7 br $break|1 end i32.const 0 - local.set $4 + local.set $2 end - local.get $4 + local.get $2 local.get $6 i32.or if local.get $6 - local.tee $2 + local.tee $4 i32.const 1 i32.add local.set $6 - local.get $2 + local.get $4 i32.const 1 i32.shl local.get $0 i32.add - local.get $4 + local.get $2 i32.const 65535 i32.and i32.const 48 i32.add i32.store16 end - local.get $8 + local.get $9 i32.const 1 i32.sub - local.set $8 + local.set $9 local.get $7 i64.extend_i32_u - local.get $10 + local.get $12 i64.extend_i32_s i64.shl - local.get $1 + local.get $11 i64.add - local.tee $3 + local.tee $1 local.get $5 i64.le_u if global.get $~lib/util/number/_K - local.get $8 + local.get $9 i32.add global.set $~lib/util/number/_K - local.get $5 - local.set $9 - local.get $3 - local.set $1 - local.get $8 + local.get $9 i32.const 2 i32.shl - local.get $12 + local.get $13 i32.add i64.load32_u - local.get $10 + local.get $12 i64.extend_i32_s i64.shl - local.set $3 - local.get $11 - local.set $5 + local.set $10 local.get $6 + local.tee $4 i32.const 1 i32.sub i32.const 1 i32.shl local.get $0 i32.add - local.tee $4 + local.tee $6 i32.load16_u local.set $7 loop $continue|2 local.get $1 - local.get $5 + local.get $8 i64.lt_u local.tee $0 if - local.get $9 + local.get $5 local.get $1 i64.sub - local.get $3 + local.get $10 i64.ge_u local.set $0 end local.get $0 if local.get $1 - local.get $3 + local.get $10 i64.add - local.get $5 + local.get $8 i64.lt_u local.tee $0 i32.eqz if - local.get $5 + local.get $8 local.get $1 i64.sub local.get $1 - local.get $3 + local.get $10 i64.add - local.get $5 + local.get $8 i64.sub i64.gt_u local.set $0 @@ -7002,16 +6997,16 @@ i32.sub local.set $7 local.get $1 - local.get $3 + local.get $10 i64.add local.set $1 br $continue|2 end end - local.get $4 + local.get $6 local.get $7 i32.store16 - local.get $6 + local.get $4 return end br $continue|0 @@ -7022,14 +7017,14 @@ i64.const 10 i64.mul local.set $5 - local.get $1 + local.get $11 i64.const 10 i64.mul - local.tee $1 - local.get $10 + local.tee $11 + local.get $12 i64.extend_i32_s i64.shr_u - local.tee $3 + local.tee $1 local.get $6 i64.extend_i32_s i64.or @@ -7037,16 +7032,16 @@ i64.ne if local.get $6 - local.tee $4 + local.tee $2 i32.const 1 i32.add local.set $6 - local.get $4 + local.get $2 i32.const 1 i32.shl local.get $0 i32.add - local.get $3 + local.get $1 i32.wrap_i64 i32.const 65535 i32.and @@ -7054,104 +7049,103 @@ i32.add i32.store16 end - local.get $8 + local.get $9 i32.const 1 i32.sub - local.set $8 - local.get $1 + local.set $9 + local.get $11 local.get $14 i64.and - local.tee $1 + local.tee $11 local.get $5 i64.ge_u br_if $continue|3 global.get $~lib/util/number/_K - local.get $8 + local.get $9 i32.add global.set $~lib/util/number/_K - local.get $1 - local.set $3 - local.get $9 + local.get $11 local.set $1 i32.const 0 - local.get $8 + local.get $9 i32.sub i32.const 2 i32.shl - local.get $12 + local.get $13 i32.add i64.load32_u - local.get $11 + local.get $8 i64.mul - local.set $9 + local.set $8 local.get $6 - local.tee $7 + local.tee $2 i32.const 1 i32.sub i32.const 1 i32.shl local.get $0 i32.add - local.tee $4 + local.tee $6 i32.load16_u - local.set $6 + local.set $4 loop $continue|4 - local.get $3 - local.get $9 + local.get $1 + local.get $8 i64.lt_u - local.tee $2 + local.tee $0 if local.get $5 - local.get $3 - i64.sub local.get $1 + i64.sub + local.get $10 i64.ge_u - local.set $2 + local.set $0 end - local.get $2 + local.get $0 if local.get $1 - local.get $3 + local.get $10 i64.add - local.get $9 + local.get $8 i64.lt_u - local.tee $2 + local.tee $0 i32.eqz if - local.get $9 - local.get $3 + local.get $8 + local.get $1 i64.sub local.get $1 - local.get $3 + local.get $10 i64.add - local.get $9 + local.get $8 i64.sub i64.gt_u - local.set $2 + local.set $0 end end - local.get $2 + local.get $0 if - local.get $6 + local.get $4 i32.const 1 i32.sub - local.set $6 + local.set $4 local.get $1 - local.get $3 + local.get $10 i64.add - local.set $3 + local.set $1 br $continue|4 end end - local.get $4 local.get $6 + local.get $4 i32.store16 - local.get $7 + local.get $2 end ) (func $~lib/util/number/prettify (; 129 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $2 i32.eqz if @@ -7171,78 +7165,78 @@ local.get $1 local.get $2 i32.add - local.tee $3 - i32.le_s local.tee $4 + i32.le_s + local.tee $3 if - local.get $3 + local.get $4 i32.const 21 i32.le_s - local.set $4 + local.set $3 end - local.get $4 + local.get $3 if (result i32) local.get $1 - local.set $4 + local.set $3 loop $repeat|0 block $break|0 - local.get $4 local.get $3 + local.get $4 i32.ge_s br_if $break|0 - local.get $4 + local.get $3 i32.const 1 i32.shl local.get $0 i32.add i32.const 48 i32.store16 - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $repeat|0 end end - local.get $3 + local.get $4 i32.const 1 i32.shl local.get $0 i32.add i32.const 3145774 i32.store - local.get $3 + local.get $4 i32.const 2 i32.add else - local.get $3 + local.get $4 i32.const 0 i32.gt_s - local.tee $4 + local.tee $3 if - local.get $3 + local.get $4 i32.const 21 i32.le_s - local.set $4 + local.set $3 end - local.get $4 + local.get $3 if (result i32) - local.get $3 + local.get $4 i32.const 1 i32.shl local.get $0 i32.add - local.tee $4 + local.tee $3 i32.const 2 i32.add - local.get $4 + local.get $3 i32.const 0 local.get $2 i32.sub i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $4 + local.get $3 i32.const 46 i32.store16 local.get $1 @@ -7250,21 +7244,21 @@ i32.add else i32.const -6 - local.get $3 + local.get $4 i32.lt_s - local.tee $4 + local.tee $3 if - local.get $3 + local.get $4 i32.const 0 i32.le_s - local.set $4 + local.set $3 end - local.get $4 + local.get $3 if (result i32) i32.const 2 - local.get $3 + local.get $4 i32.sub - local.tee $4 + local.tee $3 i32.const 1 i32.shl local.get $0 @@ -7278,29 +7272,29 @@ i32.const 3014704 i32.store i32.const 2 - local.set $3 + local.set $5 loop $repeat|1 block $break|1 + local.get $5 local.get $3 - local.get $4 i32.ge_s br_if $break|1 - local.get $3 + local.get $5 i32.const 1 i32.shl local.get $0 i32.add i32.const 48 i32.store16 - local.get $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $repeat|1 end end local.get $1 - local.get $4 + local.get $3 i32.add else local.get $1 @@ -7313,9 +7307,9 @@ local.get $0 i32.const 4 i32.add - local.tee $4 + local.tee $5 block (result i32) - local.get $3 + local.get $4 i32.const 1 i32.sub local.tee $3 @@ -7336,7 +7330,7 @@ i32.add local.tee $2 call $~lib/util/number/utoa32_lut - local.get $4 + local.get $5 i32.const 45 i32.const 43 local.get $0 @@ -7371,37 +7365,37 @@ local.get $0 i32.const 4 i32.add - local.tee $0 + local.tee $3 block (result i32) - local.get $3 + local.get $4 i32.const 1 i32.sub - local.tee $3 + local.tee $0 i32.const 0 i32.lt_s - local.tee $4 + local.tee $5 if i32.const 0 - local.get $3 + local.get $0 i32.sub - local.set $3 + local.set $0 end - local.get $3 + local.get $0 end - local.get $3 + local.get $0 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.tee $2 + local.tee $0 call $~lib/util/number/utoa32_lut - local.get $0 + local.get $3 i32.const 45 i32.const 43 - local.get $4 + local.get $5 select i32.store16 + local.get $0 local.get $1 - local.get $2 i32.add i32.const 2 i32.add @@ -7411,8 +7405,8 @@ end ) (func $~lib/util/number/dtoa_core (; 130 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) + (local $3 i32) (local $4 i64) (local $5 i64) (local $6 i64) @@ -7420,14 +7414,13 @@ (local $8 i32) (local $9 i64) (local $10 i64) - (local $11 i64) - (local $12 i32) + (local $11 i32) + (local $12 i64) (local $13 i64) - (local $14 i64) local.get $1 f64.const 0 f64.lt - local.tee $12 + local.tee $11 if (result f64) local.get $0 i32.const 45 @@ -7438,14 +7431,14 @@ local.get $1 end i64.reinterpret_f64 - local.tee $3 + local.tee $2 i64.const 9218868437227405312 i64.and i64.const 52 i64.shr_u i32.wrap_i64 local.set $7 - local.get $3 + local.get $2 i64.const 4503599627370495 i64.and local.get $7 @@ -7456,7 +7449,7 @@ i64.const 52 i64.shl i64.add - local.tee $3 + local.tee $2 i64.const 1 i64.shl i64.const 1 @@ -7464,9 +7457,9 @@ local.tee $5 i64.clz i32.wrap_i64 - local.set $2 + local.set $3 local.get $5 - local.get $2 + local.get $3 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus @@ -7479,11 +7472,11 @@ local.tee $7 i32.const 1 i32.sub - local.get $2 + local.get $3 i32.sub - local.set $2 - local.get $3 - local.get $3 + local.set $3 + local.get $2 + local.get $2 i64.const 4503599627370496 i64.eq i32.const 1 @@ -7496,12 +7489,12 @@ local.get $7 local.get $8 i32.sub - local.get $2 + local.get $3 i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $2 + local.get $3 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 @@ -7514,8 +7507,8 @@ f64.add local.tee $1 i32.trunc_f64_s - local.tee $2 - local.get $2 + local.tee $3 + local.get $3 f64.convert_i32_s local.get $1 f64.ne @@ -7524,7 +7517,7 @@ i32.shr_s i32.const 1 i32.add - local.tee $2 + local.tee $3 i32.const 3 i32.shl local.tee $8 @@ -7538,20 +7531,20 @@ global.set $~lib/util/number/_frc_pow i32.const 5340 i32.load - local.get $2 + local.get $3 i32.const 1 i32.shl i32.add i32.load16_s global.set $~lib/util/number/_exp_pow - local.get $3 - local.get $3 + local.get $2 + local.get $2 i64.clz i32.wrap_i64 - local.tee $2 + local.tee $3 i64.extend_i32_s i64.shl - local.tee $3 + local.tee $2 i64.const 4294967295 i64.and local.tee $9 @@ -7565,13 +7558,13 @@ local.get $5 i64.const 32 i64.shr_u - local.tee $11 + local.tee $6 local.get $9 i64.mul - local.get $3 + local.get $2 i64.const 32 i64.shr_u - local.tee $6 + local.tee $2 local.get $10 i64.mul local.get $4 @@ -7586,43 +7579,43 @@ i64.add i64.const 32 i64.shr_u + local.get $2 local.get $6 - local.get $11 i64.mul local.get $4 i64.const 32 i64.shr_u i64.add i64.add - local.set $14 + local.set $13 local.get $5 i64.const 4294967295 i64.and - local.tee $6 + local.tee $2 global.get $~lib/util/number/_frc_plus local.tee $4 i64.const 4294967295 i64.and - local.tee $11 + local.tee $6 i64.mul - local.set $3 - local.get $11 + local.set $12 + local.get $6 local.get $5 i64.const 32 i64.shr_u local.tee $9 i64.mul - local.get $6 + local.get $2 local.get $4 i64.const 32 i64.shr_u local.tee $10 i64.mul - local.get $3 + local.get $12 i64.const 32 i64.shr_u i64.add - local.tee $13 + local.tee $2 i64.const 4294967295 i64.and i64.add @@ -7633,19 +7626,19 @@ local.get $9 local.get $10 i64.mul - local.get $13 + local.get $2 i64.const 32 i64.shr_u i64.add i64.add local.set $6 global.get $~lib/util/number/_frc_minus - local.tee $13 + local.tee $12 i64.const 4294967295 i64.and local.tee $9 local.get $5 - local.tee $3 + local.tee $2 i64.const 4294967295 i64.and local.tee $10 @@ -7655,16 +7648,16 @@ i64.const 1 i64.sub local.tee $5 - local.get $3 - i64.const 32 - i64.shr_u - local.tee $11 - local.get $9 - i64.mul - local.get $13 + local.get $2 i64.const 32 i64.shr_u local.tee $6 + local.get $9 + i64.mul + local.get $12 + i64.const 32 + i64.shr_u + local.tee $2 local.get $10 i64.mul local.get $4 @@ -7679,8 +7672,8 @@ i64.add i64.const 32 i64.shr_u + local.get $2 local.get $6 - local.get $11 i64.mul local.get $4 i64.const 32 @@ -7691,35 +7684,35 @@ i64.add i64.sub local.set $4 - local.get $12 + local.get $11 i32.const 1 i32.shl local.get $0 i32.add local.get $0 - local.get $14 + local.get $13 local.get $7 - local.get $2 + local.get $3 i32.sub global.get $~lib/util/number/_exp_pow - local.tee $2 + local.tee $3 i32.add i32.const -64 i32.sub local.get $5 global.get $~lib/util/number/_exp - local.get $2 + local.get $3 i32.add i32.const -64 i32.sub local.get $4 - local.get $12 + local.get $11 call $~lib/util/number/genDigits - local.get $12 + local.get $11 i32.sub global.get $~lib/util/number/_K call $~lib/util/number/prettify - local.get $12 + local.get $11 i32.add ) (func $~lib/util/number/dtoa (; 131 ;) (type $FUNCSIG$id) (param $0 f64) (result i32) @@ -8797,22 +8790,22 @@ if local.get $2 i32.wrap_i64 - local.tee $1 + local.tee $3 call $~lib/util/number/decimalCount32 - local.set $3 + local.set $1 local.get $0 - local.get $1 local.get $3 + local.get $1 call $~lib/util/number/utoa32_lut else local.get $0 local.get $2 local.get $2 call $~lib/util/number/decimalCount64 - local.tee $3 + local.tee $1 call $~lib/util/number/utoa64_lut end - local.get $3 + local.get $1 ) (func $~lib/array/Array#join_int (; 147 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) @@ -9031,14 +9024,14 @@ if local.get $2 i32.wrap_i64 - local.tee $1 + local.tee $4 call $~lib/util/number/decimalCount32 local.get $3 i32.add - local.set $4 + local.set $1 local.get $0 - local.get $1 local.get $4 + local.get $1 call $~lib/util/number/utoa32_lut else local.get $0 @@ -9047,7 +9040,7 @@ call $~lib/util/number/decimalCount64 local.get $3 i32.add - local.tee $4 + local.tee $1 call $~lib/util/number/utoa64_lut end local.get $3 @@ -9056,7 +9049,7 @@ i32.const 45 i32.store16 end - local.get $4 + local.get $1 ) (func $~lib/array/Array#join_int (; 150 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index dd435298..45a5bbf6 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -410,7 +410,8 @@ (func $~lib/memory/memory.fill (; 5 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -486,13 +487,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -606,13 +607,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -622,7 +623,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -631,22 +632,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 @@ -671,7 +672,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -686,7 +687,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -746,7 +747,7 @@ if i32.const 0 i32.const 16 - i32.const 233 + i32.const 251 i32.const 57 call $~lib/env/abort unreachable @@ -2215,6 +2216,8 @@ ) (func $~lib/memory/memory.copy (; 22 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 @@ -2227,9 +2230,9 @@ i32.add local.get $0 i32.le_u - local.tee $3 + local.tee $5 if (result i32) - local.get $3 + local.get $5 else local.get $0 local.get $2 @@ -2274,19 +2277,19 @@ local.set $2 block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -2331,19 +2334,19 @@ block block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -2879,23 +2882,23 @@ local.set $4 block $~lib/runtime/REALLOCATE|inlined.0 (result i32) local.get $3 - local.set $5 - local.get $4 local.set $6 - local.get $5 + local.get $4 + local.set $5 local.get $6 + local.get $5 call $~lib/runtime/doReallocate end - local.set $6 - local.get $6 + local.set $5 + local.get $5 local.get $3 i32.ne if local.get $0 - local.get $6 + local.get $5 i32.store local.get $0 - local.get $6 + local.get $5 i32.store offset=4 end local.get $0 @@ -5350,23 +5353,23 @@ end block $~lib/util/sort/SORT|inlined.0 local.get $3 - local.set $6 + local.set $8 local.get $2 local.set $7 local.get $1 - local.set $8 + local.set $6 local.get $7 i32.const 256 i32.lt_s if - local.get $6 - local.get $7 local.get $8 + local.get $7 + local.get $6 call $~lib/util/sort/insertionSort else - local.get $6 - local.get $7 local.get $8 + local.get $7 + local.get $6 call $~lib/util/sort/weakHeapSort end end @@ -5960,23 +5963,23 @@ end block $~lib/util/sort/SORT|inlined.0 local.get $3 - local.set $6 + local.set $8 local.get $2 local.set $7 local.get $1 - local.set $8 + local.set $6 local.get $7 i32.const 256 i32.lt_s if - local.get $6 - local.get $7 local.get $8 + local.get $7 + local.get $6 call $~lib/util/sort/insertionSort else - local.get $6 - local.get $7 local.get $8 + local.get $7 + local.get $6 call $~lib/util/sort/weakHeapSort end end @@ -6595,23 +6598,23 @@ end block $~lib/util/sort/SORT|inlined.0 local.get $3 - local.set $5 + local.set $6 local.get $2 local.set $4 local.get $1 - local.set $6 + local.set $5 local.get $4 i32.const 256 i32.lt_s if - local.get $5 - local.get $4 local.get $6 + local.get $4 + local.get $5 call $~lib/util/sort/insertionSort else - local.get $5 - local.get $4 local.get $6 + local.get $4 + local.get $5 call $~lib/util/sort/weakHeapSort end end @@ -7099,23 +7102,23 @@ end block $~lib/util/sort/SORT|inlined.0 local.get $3 - local.set $5 + local.set $6 local.get $2 local.set $4 local.get $1 - local.set $6 + local.set $5 local.get $4 i32.const 256 i32.lt_s if - local.get $5 - local.get $4 local.get $6 + local.get $4 + local.get $5 call $~lib/util/sort/insertionSort else - local.get $5 - local.get $4 local.get $6 + local.get $4 + local.get $5 call $~lib/util/sort/weakHeapSort end end @@ -7674,14 +7677,14 @@ end block $~lib/util/sort/SORT>|inlined.0 local.get $3 - local.set $5 + local.set $6 local.get $2 local.set $4 local.get $1 - local.set $6 - local.get $5 - local.get $4 + local.set $5 local.get $6 + local.get $4 + local.get $5 call $~lib/util/sort/insertionSort> end local.get $0 @@ -8038,14 +8041,14 @@ end block $~lib/util/sort/SORT>|inlined.0 local.get $3 - local.set $5 + local.set $6 local.get $2 local.set $4 local.get $1 - local.set $6 - local.get $5 - local.get $4 + local.set $5 local.get $6 + local.get $4 + local.get $5 call $~lib/util/sort/insertionSort> end local.get $0 @@ -8295,14 +8298,14 @@ end block $~lib/util/sort/SORT|inlined.0 local.get $3 - local.set $5 + local.set $6 local.get $2 local.set $4 local.get $1 - local.set $6 - local.get $5 - local.get $4 + local.set $5 local.get $6 + local.get $4 + local.get $5 call $~lib/util/sort/insertionSort end local.get $0 @@ -9486,14 +9489,14 @@ local.set $4 block $~lib/util/number/utoa32_core|inlined.0 local.get $4 - local.set $3 + local.set $6 local.get $0 local.set $5 local.get $2 - local.set $6 - local.get $3 - local.get $5 + local.set $3 local.get $6 + local.get $5 + local.get $3 call $~lib/util/number/utoa32_lut end local.get $1 @@ -9504,8 +9507,8 @@ end block $~lib/runtime/REGISTER|inlined.4 (result i32) local.get $4 - local.set $6 - local.get $6 + local.set $3 + local.get $3 i32.const 1 call $~lib/runtime/doRegister end @@ -9556,14 +9559,14 @@ local.set $3 block $~lib/util/number/utoa32_core|inlined.1 local.get $0 - local.set $5 + local.set $7 local.get $2 local.set $6 local.get $3 - local.set $7 - local.get $5 - local.get $6 + local.set $5 local.get $7 + local.get $6 + local.get $5 call $~lib/util/number/utoa32_lut end local.get $4 @@ -9752,20 +9755,20 @@ local.set $3 block $~lib/util/number/utoa32_core|inlined.2 local.get $3 - local.set $2 + local.set $5 local.get $0 local.set $4 local.get $1 - local.set $5 - local.get $2 - local.get $4 + local.set $2 local.get $5 + local.get $4 + local.get $2 call $~lib/util/number/utoa32_lut end block $~lib/runtime/REGISTER|inlined.6 (result i32) local.get $3 - local.set $5 - local.get $5 + local.set $2 + local.get $2 i32.const 1 call $~lib/runtime/doRegister end @@ -9802,14 +9805,14 @@ local.set $3 block $~lib/util/number/utoa32_core|inlined.3 local.get $0 - local.set $4 + local.set $6 local.get $2 local.set $5 local.get $3 - local.set $6 - local.get $4 - local.get $5 + local.set $4 local.get $6 + local.get $5 + local.get $4 call $~lib/util/number/utoa32_lut end local.get $3 @@ -10284,13 +10287,13 @@ global.set $~lib/util/number/_K block $~lib/util/number/grisuRound|inlined.0 local.get $0 - local.set $18 - local.get $15 local.set $20 + local.get $15 + local.set $18 local.get $5 - local.set $21 + local.set $24 local.get $19 - local.set $22 + local.set $23 local.get $16 local.get $14 i32.const 2 @@ -10300,11 +10303,11 @@ local.get $7 i64.extend_i32_s i64.shl - local.set $23 + local.set $22 local.get $10 - local.set $24 - local.get $18 + local.set $21 local.get $20 + local.get $18 i32.const 1 i32.sub i32.const 1 @@ -10316,37 +10319,37 @@ local.set $26 block $break|2 loop $continue|2 - local.get $22 - local.get $24 + local.get $23 + local.get $21 i64.lt_u local.tee $27 if (result i32) - local.get $21 - local.get $22 - i64.sub + local.get $24 local.get $23 + i64.sub + local.get $22 i64.ge_u else local.get $27 end local.tee $27 if (result i32) - local.get $22 local.get $23 + local.get $22 i64.add - local.get $24 + local.get $21 i64.lt_u local.tee $27 if (result i32) local.get $27 else - local.get $24 - local.get $22 - i64.sub - local.get $22 + local.get $21 local.get $23 + i64.sub + local.get $23 + local.get $22 i64.add - local.get $24 + local.get $21 i64.sub i64.gt_u end @@ -10359,10 +10362,10 @@ i32.const 1 i32.sub local.set $26 - local.get $22 local.get $23 + local.get $22 i64.add - local.set $22 + local.set $23 end br $continue|2 end @@ -10454,9 +10457,9 @@ local.set $10 block $~lib/util/number/grisuRound|inlined.1 local.get $0 - local.set $17 - local.get $15 local.set $26 + local.get $15 + local.set $17 local.get $5 local.set $24 local.get $13 @@ -10465,8 +10468,8 @@ local.set $22 local.get $10 local.set $21 - local.get $17 local.get $26 + local.get $17 i32.const 1 i32.sub i32.const 1 @@ -10475,13 +10478,13 @@ local.set $25 local.get $25 i32.load16_u - local.set $20 + local.set $18 block $break|4 loop $continue|4 local.get $23 local.get $21 i64.lt_u - local.tee $18 + local.tee $20 if (result i32) local.get $24 local.get $23 @@ -10489,18 +10492,18 @@ local.get $22 i64.ge_u else - local.get $18 + local.get $20 end - local.tee $18 + local.tee $20 if (result i32) local.get $23 local.get $22 i64.add local.get $21 i64.lt_u - local.tee $18 + local.tee $20 if (result i32) - local.get $18 + local.get $20 else local.get $21 local.get $23 @@ -10513,14 +10516,14 @@ i64.gt_u end else - local.get $18 + local.get $20 end if block - local.get $20 + local.get $18 i32.const 1 i32.sub - local.set $20 + local.set $18 local.get $23 local.get $22 i64.add @@ -10531,7 +10534,7 @@ end end local.get $25 - local.get $20 + local.get $18 i32.store16 end local.get $15 @@ -10744,40 +10747,40 @@ local.get $0 i32.const 4 i32.add - local.set $4 + local.set $5 local.get $3 i32.const 1 i32.sub - local.set $5 - local.get $5 + local.set $4 + local.get $4 i32.const 0 i32.lt_s local.set $6 local.get $6 if i32.const 0 - local.get $5 + local.get $4 i32.sub - local.set $5 + local.set $4 end - local.get $5 + local.get $4 call $~lib/util/number/decimalCount32 i32.const 1 i32.add local.set $7 block $~lib/util/number/utoa32_core|inlined.4 - local.get $4 - local.set $8 local.get $5 + local.set $10 + local.get $4 local.set $9 local.get $7 - local.set $10 - local.get $8 - local.get $9 + local.set $8 local.get $10 + local.get $9 + local.get $8 call $~lib/util/number/utoa32_lut end - local.get $4 + local.get $5 i32.const 45 i32.const 43 local.get $6 @@ -10820,46 +10823,46 @@ i32.add i32.const 4 i32.add - local.set $6 + local.set $4 local.get $3 i32.const 1 i32.sub - local.set $5 - local.get $5 + local.set $6 + local.get $6 i32.const 0 i32.lt_s - local.set $4 - local.get $4 + local.set $5 + local.get $5 if i32.const 0 - local.get $5 + local.get $6 i32.sub - local.set $5 + local.set $6 end - local.get $5 + local.get $6 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.set $10 + local.set $8 block $~lib/util/number/utoa32_core|inlined.5 - local.get $6 - local.set $9 - local.get $5 - local.set $8 - local.get $10 + local.get $4 local.set $11 - local.get $9 + local.get $6 + local.set $10 local.get $8 + local.set $9 local.get $11 + local.get $10 + local.get $9 call $~lib/util/number/utoa32_lut end - local.get $6 + local.get $4 i32.const 45 i32.const 43 - local.get $4 + local.get $5 select i32.store16 - local.get $10 + local.get $8 end i32.add local.set $1 @@ -10922,9 +10925,9 @@ local.get $1 local.set $3 local.get $0 - local.set $4 - local.get $2 local.set $5 + local.get $2 + local.set $4 local.get $3 i64.reinterpret_f64 local.set $6 @@ -11082,22 +11085,22 @@ local.set $14 block $~lib/util/number/umul64f|inlined.0 (result i64) local.get $9 - local.set $10 - local.get $12 local.set $17 - local.get $10 + local.get $12 + local.set $10 + local.get $17 i64.const 4294967295 i64.and local.set $18 - local.get $17 + local.get $10 i64.const 4294967295 i64.and local.set $19 - local.get $10 + local.get $17 i64.const 32 i64.shr_u local.set $20 - local.get $17 + local.get $10 i64.const 32 i64.shr_u local.set $21 @@ -11144,53 +11147,53 @@ local.set $24 block $~lib/util/number/umul64e|inlined.0 (result i32) local.get $7 - local.set $15 - local.get $14 local.set $11 - local.get $15 + local.get $14 + local.set $15 local.get $11 + local.get $15 i32.add i32.const 64 i32.add end - local.set $11 + local.set $15 block $~lib/util/number/umul64f|inlined.1 (result i64) global.get $~lib/util/number/_frc_plus - local.set $23 - local.get $12 local.set $22 - local.get $23 + local.get $12 + local.set $23 + local.get $22 i64.const 4294967295 i64.and local.set $21 - local.get $22 + local.get $23 i64.const 4294967295 i64.and local.set $20 - local.get $23 + local.get $22 i64.const 32 i64.shr_u local.set $19 - local.get $22 + local.get $23 i64.const 32 i64.shr_u local.set $18 local.get $21 local.get $20 i64.mul - local.set $17 + local.set $10 local.get $19 local.get $20 i64.mul - local.get $17 + local.get $10 i64.const 32 i64.shr_u i64.add - local.set $10 + local.set $17 local.get $21 local.get $18 i64.mul - local.get $10 + local.get $17 i64.const 4294967295 i64.and i64.add @@ -11199,10 +11202,10 @@ i64.const 2147483647 i64.add local.set $25 - local.get $10 + local.get $17 i64.const 32 i64.shr_u - local.set $10 + local.set $17 local.get $25 i64.const 32 i64.shr_u @@ -11210,7 +11213,7 @@ local.get $19 local.get $18 i64.mul - local.get $10 + local.get $17 i64.add local.get $25 i64.add @@ -11220,16 +11223,16 @@ local.set $25 block $~lib/util/number/umul64e|inlined.1 (result i32) global.get $~lib/util/number/_exp - local.set $15 - local.get $14 local.set $26 - local.get $15 + local.get $14 + local.set $11 local.get $26 + local.get $11 i32.add i32.const 64 i32.add end - local.set $26 + local.set $11 block $~lib/util/number/umul64f|inlined.2 (result i64) global.get $~lib/util/number/_frc_minus local.set $10 @@ -11254,19 +11257,19 @@ local.get $18 local.get $19 i64.mul - local.set $22 + local.set $23 local.get $20 local.get $19 i64.mul - local.get $22 + local.get $23 i64.const 32 i64.shr_u i64.add - local.set $23 + local.set $22 local.get $18 local.get $21 i64.mul - local.get $23 + local.get $22 i64.const 4294967295 i64.and i64.add @@ -11275,10 +11278,10 @@ i64.const 2147483647 i64.add local.set $27 - local.get $23 + local.get $22 i64.const 32 i64.shr_u - local.set $23 + local.set $22 local.get $27 i64.const 32 i64.shr_u @@ -11286,7 +11289,7 @@ local.get $20 local.get $21 i64.mul - local.get $23 + local.get $22 i64.add local.get $27 i64.add @@ -11297,14 +11300,14 @@ local.get $25 local.get $27 i64.sub - local.set $23 - local.get $4 - local.get $24 - local.get $11 - local.get $25 - local.get $26 - local.get $23 + local.set $22 local.get $5 + local.get $24 + local.get $15 + local.get $25 + local.get $11 + local.get $22 + local.get $4 call $~lib/util/number/genDigits end local.set $28 @@ -12088,7 +12091,7 @@ local.set $3 block $~lib/util/number/utoa32_core|inlined.6 local.get $0 - local.set $5 + local.set $7 local.get $2 i32.const 24 i32.shl @@ -12096,10 +12099,10 @@ i32.shr_s local.set $6 local.get $3 - local.set $7 - local.get $5 - local.get $6 + local.set $5 local.get $7 + local.get $6 + local.get $5 call $~lib/util/number/utoa32_lut end local.get $4 @@ -12305,16 +12308,16 @@ local.set $3 block $~lib/util/number/utoa32_core|inlined.7 local.get $0 - local.set $4 + local.set $6 local.get $2 i32.const 65535 i32.and local.set $5 local.get $3 - local.set $6 - local.get $4 - local.get $5 + local.set $4 local.get $6 + local.get $5 + local.get $4 call $~lib/util/number/utoa32_lut end local.get $3 @@ -12709,14 +12712,14 @@ local.set $1 block $~lib/util/number/utoa32_core|inlined.8 local.get $1 - local.set $4 + local.set $6 local.get $2 local.set $5 local.get $3 - local.set $6 - local.get $4 - local.get $5 + local.set $4 local.get $6 + local.get $5 + local.get $4 call $~lib/util/number/utoa32_lut end else @@ -12734,14 +12737,14 @@ local.set $1 block $~lib/util/number/utoa64_core|inlined.0 local.get $1 - local.set $2 + local.set $4 local.get $0 local.set $7 local.get $3 - local.set $6 - local.get $2 + local.set $2 + local.get $4 local.get $7 - local.get $6 + local.get $2 call $~lib/util/number/utoa64_lut end end @@ -12795,14 +12798,14 @@ local.set $3 block $~lib/util/number/utoa32_core|inlined.9 local.get $0 - local.set $5 + local.set $7 local.get $4 local.set $6 local.get $3 - local.set $7 - local.get $5 - local.get $6 + local.set $5 local.get $7 + local.get $6 + local.get $5 call $~lib/util/number/utoa32_lut end else @@ -12811,14 +12814,14 @@ local.set $3 block $~lib/util/number/utoa64_core|inlined.1 local.get $0 - local.set $4 + local.set $5 local.get $2 local.set $8 local.get $3 - local.set $7 - local.get $4 + local.set $4 + local.get $5 local.get $8 - local.get $7 + local.get $4 call $~lib/util/number/utoa64_lut end end @@ -13031,14 +13034,14 @@ local.set $2 block $~lib/util/number/utoa32_core|inlined.10 local.get $2 - local.set $5 + local.set $7 local.get $3 local.set $6 local.get $4 - local.set $7 - local.get $5 - local.get $6 + local.set $5 local.get $7 + local.get $6 + local.get $5 call $~lib/util/number/utoa32_lut end else @@ -13058,14 +13061,14 @@ local.set $2 block $~lib/util/number/utoa64_core|inlined.2 local.get $2 - local.set $3 + local.set $5 local.get $0 local.set $8 local.get $4 - local.set $7 - local.get $3 + local.set $3 + local.get $5 local.get $8 - local.get $7 + local.get $3 call $~lib/util/number/utoa64_lut end end @@ -13139,14 +13142,14 @@ local.set $3 block $~lib/util/number/utoa32_core|inlined.11 local.get $0 - local.set $6 + local.set $8 local.get $5 local.set $7 local.get $3 - local.set $8 - local.get $6 - local.get $7 + local.set $6 local.get $8 + local.get $7 + local.get $6 call $~lib/util/number/utoa32_lut end else @@ -13157,14 +13160,14 @@ local.set $3 block $~lib/util/number/utoa64_core|inlined.3 local.get $0 - local.set $5 + local.set $6 local.get $2 local.set $9 local.get $3 - local.set $8 - local.get $5 + local.set $5 + local.get $6 local.get $9 - local.get $8 + local.get $5 call $~lib/util/number/utoa64_lut end end @@ -13520,16 +13523,16 @@ local.set $3 block $~lib/util/number/utoa32_core|inlined.12 local.get $0 - local.set $4 + local.set $6 local.get $2 i32.const 255 i32.and local.set $5 local.get $3 - local.set $6 - local.get $4 - local.get $5 + local.set $4 local.get $6 + local.get $5 + local.get $4 call $~lib/util/number/utoa32_lut end local.get $3 diff --git a/tests/compiler/std/arraybuffer.optimized.wat b/tests/compiler/std/arraybuffer.optimized.wat index ca63c557..ab1b14bc 100644 --- a/tests/compiler/std/arraybuffer.optimized.wat +++ b/tests/compiler/std/arraybuffer.optimized.wat @@ -326,7 +326,7 @@ if i32.const 0 i32.const 64 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -340,7 +340,7 @@ if i32.const 0 i32.const 64 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -1552,7 +1552,7 @@ if i32.const 0 i32.const 64 - i32.const 233 + i32.const 251 i32.const 57 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/arraybuffer.untouched.wat b/tests/compiler/std/arraybuffer.untouched.wat index ff9b3ed3..234c9b46 100644 --- a/tests/compiler/std/arraybuffer.untouched.wat +++ b/tests/compiler/std/arraybuffer.untouched.wat @@ -147,7 +147,8 @@ (func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -223,13 +224,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -343,13 +344,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -359,7 +360,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -368,22 +369,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 @@ -408,7 +409,7 @@ if i32.const 0 i32.const 64 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -423,7 +424,7 @@ if i32.const 0 i32.const 64 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -1681,6 +1682,8 @@ ) (func $~lib/memory/memory.copy (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 @@ -1693,9 +1696,9 @@ i32.add local.get $0 i32.le_u - local.tee $3 + local.tee $5 if (result i32) - local.get $3 + local.get $5 else local.get $0 local.get $2 @@ -1740,19 +1743,19 @@ local.set $2 block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -1797,19 +1800,19 @@ block block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -2048,7 +2051,7 @@ if i32.const 0 i32.const 64 - i32.const 233 + i32.const 251 i32.const 57 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/dataview.optimized.wat b/tests/compiler/std/dataview.optimized.wat index 892b29ba..7da2c2e4 100644 --- a/tests/compiler/std/dataview.optimized.wat +++ b/tests/compiler/std/dataview.optimized.wat @@ -163,7 +163,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -177,7 +177,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/dataview.untouched.wat b/tests/compiler/std/dataview.untouched.wat index 8338c1e3..341c0304 100644 --- a/tests/compiler/std/dataview.untouched.wat +++ b/tests/compiler/std/dataview.untouched.wat @@ -153,7 +153,8 @@ (func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -229,13 +230,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -349,13 +350,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -365,7 +366,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -374,22 +375,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 @@ -414,7 +415,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -429,7 +430,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -489,7 +490,7 @@ if i32.const 0 i32.const 16 - i32.const 233 + i32.const 251 i32.const 57 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/date.optimized.wat b/tests/compiler/std/date.optimized.wat index af285a5e..b247ef68 100644 --- a/tests/compiler/std/date.optimized.wat +++ b/tests/compiler/std/date.optimized.wat @@ -90,7 +90,7 @@ if i32.const 0 i32.const 48 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -104,7 +104,7 @@ if i32.const 0 i32.const 48 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/date.untouched.wat b/tests/compiler/std/date.untouched.wat index 78907758..85867289 100644 --- a/tests/compiler/std/date.untouched.wat +++ b/tests/compiler/std/date.untouched.wat @@ -150,7 +150,7 @@ if i32.const 0 i32.const 48 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -165,7 +165,7 @@ if i32.const 0 i32.const 48 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -230,25 +230,25 @@ (local $6 i64) block $~lib/date/Date.UTC|inlined.0 (result i64) i32.const 1970 - local.set $0 - i32.const 0 - local.set $1 - i32.const 1 - local.set $2 - i32.const 0 - local.set $3 + local.set $5 i32.const 0 local.set $4 + i32.const 1 + local.set $3 i32.const 0 - local.set $5 + local.set $2 + i32.const 0 + local.set $1 + i32.const 0 + local.set $0 i64.const 0 local.set $6 - local.get $0 - local.get $1 - local.get $2 - local.get $3 - local.get $4 local.get $5 + local.get $4 + local.get $3 + local.get $2 + local.get $1 + local.get $0 local.get $6 f64.convert_i64_s call $~lib/bindings/Date/UTC @@ -304,25 +304,25 @@ end block $~lib/date/Date.UTC|inlined.2 (result i64) i32.const 2018 - local.set $0 - i32.const 10 - local.set $1 - i32.const 10 - local.set $2 - i32.const 11 - local.set $3 - i32.const 0 - local.set $4 - i32.const 0 local.set $5 + i32.const 10 + local.set $4 + i32.const 10 + local.set $3 + i32.const 11 + local.set $2 + i32.const 0 + local.set $1 + i32.const 0 + local.set $0 i64.const 1 local.set $6 - local.get $0 - local.get $1 - local.get $2 - local.get $3 - local.get $4 local.get $5 + local.get $4 + local.get $3 + local.get $2 + local.get $1 + local.get $0 local.get $6 f64.convert_i64_s call $~lib/bindings/Date/UTC diff --git a/tests/compiler/std/libm.untouched.wat b/tests/compiler/std/libm.untouched.wat index 1c951af0..5d067960 100644 --- a/tests/compiler/std/libm.untouched.wat +++ b/tests/compiler/std/libm.untouched.wat @@ -3439,22 +3439,22 @@ (local $2 f64) (local $3 f64) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 local.get $3 + local.get $2 f64.max ) (func $std/libm/min (; 47 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) (local $2 f64) (local $3 f64) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 local.get $3 + local.get $2 f64.min ) (func $~lib/math/NativeMath.pow (; 48 ;) (type $FUNCSIG$ddd) (param $0 f64) (param $1 f64) (result f64) diff --git a/tests/compiler/std/map.optimized.wat b/tests/compiler/std/map.optimized.wat index b876f1ad..cbd76685 100644 --- a/tests/compiler/std/map.optimized.wat +++ b/tests/compiler/std/map.optimized.wat @@ -123,7 +123,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -137,7 +137,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/map.untouched.wat b/tests/compiler/std/map.untouched.wat index c91cfcde..772abc7c 100644 --- a/tests/compiler/std/map.untouched.wat +++ b/tests/compiler/std/map.untouched.wat @@ -156,7 +156,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -171,7 +171,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -190,7 +190,8 @@ (func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -266,13 +267,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -386,13 +387,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -402,7 +403,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -411,22 +412,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 4072254d..1b0516bb 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -4696,10 +4696,10 @@ local.get $0 local.set $8 local.get $1 - local.set $9 - local.get $2 local.set $10 - local.get $9 + local.get $2 + local.set $9 + local.get $10 i32.const 1305022427 i32.lt_u if @@ -4727,7 +4727,7 @@ block $~lib/math/pio2_large_quot|inlined.0 (result i32) local.get $8 local.set $11 - local.get $9 + local.get $10 local.set $12 local.get $12 i32.const 23 @@ -4859,7 +4859,7 @@ local.get $23 i32.sub local.get $23 - local.get $10 + local.get $9 select end local.set $24 @@ -7643,11 +7643,11 @@ (local $7 i32) block $~lib/math/NativeMath.max|inlined.0 (result f64) local.get $0 - local.set $5 - local.get $1 local.set $6 - local.get $5 + local.get $1 + local.set $5 local.get $6 + local.get $5 f64.max end local.get $2 @@ -7679,11 +7679,11 @@ (local $6 f32) block $~lib/math/NativeMathf.max|inlined.0 (result f32) local.get $0 - local.set $5 - local.get $1 local.set $6 - local.get $5 + local.get $1 + local.set $5 local.get $6 + local.get $5 f32.max end local.get $2 @@ -7697,11 +7697,11 @@ (local $7 i32) block $~lib/math/NativeMath.min|inlined.0 (result f64) local.get $0 - local.set $5 - local.get $1 local.set $6 - local.get $5 + local.get $1 + local.set $5 local.get $6 + local.get $5 f64.min end local.get $2 @@ -7733,11 +7733,11 @@ (local $6 f32) block $~lib/math/NativeMathf.min|inlined.0 (result f32) local.get $0 - local.set $5 - local.get $1 local.set $6 - local.get $5 + local.get $1 + local.set $5 local.get $6 + local.get $5 f32.min end local.get $2 @@ -11708,10 +11708,10 @@ local.get $0 local.set $8 local.get $1 - local.set $9 - local.get $2 local.set $10 - local.get $9 + local.get $2 + local.set $9 + local.get $10 i32.const 1305022427 i32.lt_u if @@ -11739,7 +11739,7 @@ block $~lib/math/pio2_large_quot|inlined.1 (result i32) local.get $8 local.set $11 - local.get $9 + local.get $10 local.set $12 local.get $12 i32.const 23 @@ -11871,7 +11871,7 @@ local.get $23 i32.sub local.get $23 - local.get $10 + local.get $9 select end local.set $24 @@ -12700,10 +12700,10 @@ local.get $0 local.set $11 local.get $1 - local.set $4 - local.get $2 local.set $12 - local.get $4 + local.get $2 + local.set $4 + local.get $12 i32.const 1305022427 i32.lt_u if @@ -12731,7 +12731,7 @@ block $~lib/math/pio2_large_quot|inlined.2 (result i32) local.get $11 local.set $13 - local.get $4 + local.get $12 local.set $14 local.get $14 i32.const 23 @@ -12863,7 +12863,7 @@ local.get $25 i32.sub local.get $25 - local.get $12 + local.get $4 select end local.set $26 diff --git a/tests/compiler/std/new.optimized.wat b/tests/compiler/std/new.optimized.wat index 44b7c90a..8789eb60 100644 --- a/tests/compiler/std/new.optimized.wat +++ b/tests/compiler/std/new.optimized.wat @@ -84,7 +84,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -98,7 +98,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/new.untouched.wat b/tests/compiler/std/new.untouched.wat index 4746071e..da0ceebc 100644 --- a/tests/compiler/std/new.untouched.wat +++ b/tests/compiler/std/new.untouched.wat @@ -143,7 +143,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -158,7 +158,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/operator-overloading.optimized.wat b/tests/compiler/std/operator-overloading.optimized.wat index 32165621..a832a224 100644 --- a/tests/compiler/std/operator-overloading.optimized.wat +++ b/tests/compiler/std/operator-overloading.optimized.wat @@ -167,7 +167,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -181,7 +181,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -2435,16 +2435,16 @@ call $std/operator-overloading/TesterInlineStatic#constructor global.set $std/operator-overloading/ais2 global.get $std/operator-overloading/ais1 - local.tee $0 - i32.load - global.get $std/operator-overloading/ais2 local.tee $1 i32.load + global.get $std/operator-overloading/ais2 + local.tee $0 + i32.load i32.add - local.get $0 - i32.load offset=4 local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.add call $std/operator-overloading/TesterInlineStatic#constructor global.set $std/operator-overloading/ais @@ -2452,14 +2452,14 @@ i32.load i32.const 4 i32.eq - local.tee $1 + local.tee $0 if (result i32) global.get $std/operator-overloading/ais i32.load offset=4 i32.const 6 i32.eq else - local.get $1 + local.get $0 end i32.eqz if @@ -2475,11 +2475,11 @@ call $std/operator-overloading/TesterInlineInstance#constructor global.set $std/operator-overloading/aii1 global.get $std/operator-overloading/aii1 - local.tee $1 + local.tee $0 i32.load i32.const 1 i32.add - local.get $1 + local.get $0 i32.load offset=4 i32.const 1 i32.add diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index ea13f29e..08efa6cb 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -211,7 +211,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -226,7 +226,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -2833,19 +2833,19 @@ global.set $std/operator-overloading/ais2 block $std/operator-overloading/TesterInlineStatic.add|inlined.0 (result i32) global.get $std/operator-overloading/ais1 - local.set $0 - global.get $std/operator-overloading/ais2 local.set $1 + global.get $std/operator-overloading/ais2 + local.set $0 i32.const 0 - local.get $0 - i32.load local.get $1 i32.load + local.get $0 + i32.load i32.add - local.get $0 - i32.load offset=4 local.get $1 i32.load offset=4 + local.get $0 + i32.load offset=4 i32.add call $std/operator-overloading/TesterInlineStatic#constructor end @@ -2854,14 +2854,14 @@ i32.load i32.const 4 i32.eq - local.tee $1 + local.tee $0 if (result i32) global.get $std/operator-overloading/ais i32.load offset=4 i32.const 6 i32.eq else - local.get $1 + local.get $0 end i32.eqz if @@ -2879,13 +2879,13 @@ global.set $std/operator-overloading/aii1 block $std/operator-overloading/TesterInlineInstance#postInc|inlined.0 (result i32) global.get $std/operator-overloading/aii1 - local.set $1 + local.set $0 i32.const 0 - local.get $1 + local.get $0 i32.load i32.const 1 i32.add - local.get $1 + local.get $0 i32.load offset=4 i32.const 1 i32.add diff --git a/tests/compiler/std/pointer.optimized.wat b/tests/compiler/std/pointer.optimized.wat index 4941333c..dbe7d21b 100644 --- a/tests/compiler/std/pointer.optimized.wat +++ b/tests/compiler/std/pointer.optimized.wat @@ -1166,8 +1166,8 @@ call $~lib/env/abort unreachable end - global.get $std/pointer/one global.get $std/pointer/two + global.get $std/pointer/one i32.add global.set $std/pointer/add global.get $std/pointer/add diff --git a/tests/compiler/std/pointer.untouched.wat b/tests/compiler/std/pointer.untouched.wat index 7c94a31b..dfb97705 100644 --- a/tests/compiler/std/pointer.untouched.wat +++ b/tests/compiler/std/pointer.untouched.wat @@ -23,7 +23,8 @@ (func $~lib/memory/memory.fill (; 1 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -99,13 +100,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -219,13 +220,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -235,7 +236,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -244,22 +245,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 @@ -1479,6 +1480,8 @@ ) (func $~lib/memory/memory.copy (; 3 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 @@ -1491,9 +1494,9 @@ i32.add local.get $0 i32.le_u - local.tee $3 + local.tee $5 if (result i32) - local.get $3 + local.get $5 else local.get $0 local.get $2 @@ -1538,19 +1541,19 @@ local.set $2 block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -1595,19 +1598,19 @@ block block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -1742,10 +1745,10 @@ (local $2 f32) block $std/pointer/Pointer#constructor|inlined.0 (result i32) i32.const 0 - local.set $0 - i32.const 8 local.set $1 - local.get $1 + i32.const 8 + local.set $0 + local.get $0 end global.set $std/pointer/one block $std/pointer/Pointer#constructor|inlined.1 (result i32) @@ -1842,18 +1845,18 @@ end block $std/pointer/Pointer#add|inlined.0 (result i32) global.get $std/pointer/one - local.set $0 - global.get $std/pointer/two local.set $1 - local.get $0 + global.get $std/pointer/two + local.set $0 local.get $1 + local.get $0 i32.add end global.set $std/pointer/add block $std/pointer/Pointer#get:offset|inlined.2 (result i32) global.get $std/pointer/add - local.set $1 - local.get $1 + local.set $0 + local.get $0 end i32.const 32 i32.eq @@ -2097,11 +2100,11 @@ unreachable end block $std/pointer/Pointer#constructor|inlined.0 (result i32) - i32.const 0 - local.set $0 i32.const 0 local.set $1 - local.get $1 + i32.const 0 + local.set $0 + local.get $0 end global.set $std/pointer/buf global.get $std/pointer/buf @@ -2137,11 +2140,11 @@ end block $std/pointer/Pointer#get|inlined.1 (result f32) global.get $std/pointer/buf - local.set $0 - i32.const 1 local.set $1 - local.get $0 + i32.const 1 + local.set $0 local.get $1 + local.get $0 i32.const 4 i32.mul i32.add @@ -2183,11 +2186,11 @@ end block $std/pointer/Pointer#get|inlined.3 (result f32) global.get $std/pointer/buf - local.set $0 - i32.const 1 local.set $1 - local.get $0 + i32.const 1 + local.set $0 local.get $1 + local.get $0 i32.const 4 i32.mul i32.add @@ -2247,11 +2250,11 @@ end block $std/pointer/Pointer#get|inlined.4 (result f32) global.get $std/pointer/buf - local.set $0 - i32.const 2 local.set $1 - local.get $0 + i32.const 2 + local.set $0 local.get $1 + local.get $0 i32.const 4 i32.mul i32.add diff --git a/tests/compiler/std/runtime.optimized.wat b/tests/compiler/std/runtime.optimized.wat index acdde444..6d39f7a0 100644 --- a/tests/compiler/std/runtime.optimized.wat +++ b/tests/compiler/std/runtime.optimized.wat @@ -2653,7 +2653,7 @@ if i32.const 0 i32.const 232 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -2667,7 +2667,7 @@ if i32.const 0 i32.const 232 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -2845,11 +2845,9 @@ end global.get $std/runtime/ref1 local.tee $1 + local.get $1 global.get $std/runtime/barrier1 call $~lib/runtime/doReallocate - local.set $2 - local.get $1 - local.get $2 i32.ne if i32.const 0 diff --git a/tests/compiler/std/runtime.untouched.wat b/tests/compiler/std/runtime.untouched.wat index c1a04700..50d34f17 100644 --- a/tests/compiler/std/runtime.untouched.wat +++ b/tests/compiler/std/runtime.untouched.wat @@ -2697,6 +2697,8 @@ ) (func $~lib/memory/memory.copy (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 @@ -2709,9 +2711,9 @@ i32.add local.get $0 i32.le_u - local.tee $3 + local.tee $5 if (result i32) - local.get $3 + local.get $5 else local.get $0 local.get $2 @@ -2756,19 +2758,19 @@ local.set $2 block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -2813,19 +2815,19 @@ block block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -2927,7 +2929,8 @@ (func $~lib/memory/memory.fill (; 26 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -3003,13 +3006,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -3123,13 +3126,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -3139,7 +3142,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -3148,22 +3151,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 @@ -3342,7 +3345,7 @@ if i32.const 0 i32.const 232 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -3357,7 +3360,7 @@ if i32.const 0 i32.const 232 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -3570,11 +3573,11 @@ global.get $std/runtime/ref1 block $~lib/runtime/REALLOCATE|inlined.0 (result i32) global.get $std/runtime/ref1 - local.set $0 - global.get $std/runtime/barrier1 local.set $1 - local.get $0 + global.get $std/runtime/barrier1 + local.set $0 local.get $1 + local.get $0 call $~lib/runtime/doReallocate end i32.eq diff --git a/tests/compiler/std/set.optimized.wat b/tests/compiler/std/set.optimized.wat index 7821ac7f..e660806a 100644 --- a/tests/compiler/std/set.optimized.wat +++ b/tests/compiler/std/set.optimized.wat @@ -119,7 +119,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -133,7 +133,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/set.untouched.wat b/tests/compiler/std/set.untouched.wat index 5e87e83b..603f72da 100644 --- a/tests/compiler/std/set.untouched.wat +++ b/tests/compiler/std/set.untouched.wat @@ -156,7 +156,7 @@ if i32.const 0 i32.const 16 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -171,7 +171,7 @@ if i32.const 0 i32.const 16 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -190,7 +190,8 @@ (func $~lib/memory/memory.fill (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -266,13 +267,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -386,13 +387,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -402,7 +403,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -411,22 +412,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 diff --git a/tests/compiler/std/static-array.untouched.wat b/tests/compiler/std/static-array.untouched.wat index ad621033..7933e163 100644 --- a/tests/compiler/std/static-array.untouched.wat +++ b/tests/compiler/std/static-array.untouched.wat @@ -1283,6 +1283,8 @@ ) (func $~lib/memory/memory.copy (; 6 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 @@ -1295,9 +1297,9 @@ i32.add local.get $0 i32.le_u - local.tee $3 + local.tee $5 if (result i32) - local.get $3 + local.get $5 else local.get $0 local.get $2 @@ -1342,19 +1344,19 @@ local.set $2 block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -1399,19 +1401,19 @@ block block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -1513,7 +1515,8 @@ (func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -1589,13 +1592,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -1709,13 +1712,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -1725,7 +1728,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -1734,22 +1737,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 @@ -1900,23 +1903,23 @@ local.set $4 block $~lib/runtime/REALLOCATE|inlined.0 (result i32) local.get $3 - local.set $5 - local.get $4 local.set $6 - local.get $5 + local.get $4 + local.set $5 local.get $6 + local.get $5 call $~lib/runtime/doReallocate end - local.set $6 - local.get $6 + local.set $5 + local.get $5 local.get $3 i32.ne if local.get $0 - local.get $6 + local.get $5 i32.store local.get $0 - local.get $6 + local.get $5 i32.store offset=4 end local.get $0 diff --git a/tests/compiler/std/string-utf8.optimized.wat b/tests/compiler/std/string-utf8.optimized.wat index 3c99f906..17aeccc5 100644 --- a/tests/compiler/std/string-utf8.optimized.wat +++ b/tests/compiler/std/string-utf8.optimized.wat @@ -1514,7 +1514,7 @@ if i32.const 0 i32.const 136 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -1528,7 +1528,7 @@ if i32.const 0 i32.const 136 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/string-utf8.untouched.wat b/tests/compiler/std/string-utf8.untouched.wat index 9dc4016a..a9a73b14 100644 --- a/tests/compiler/std/string-utf8.untouched.wat +++ b/tests/compiler/std/string-utf8.untouched.wat @@ -1686,6 +1686,8 @@ ) (func $~lib/memory/memory.copy (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 @@ -1698,9 +1700,9 @@ i32.add local.get $0 i32.le_u - local.tee $3 + local.tee $5 if (result i32) - local.get $3 + local.get $5 else local.get $0 local.get $2 @@ -1745,19 +1747,19 @@ local.set $2 block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -1802,19 +1804,19 @@ block block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -1926,7 +1928,7 @@ if i32.const 0 i32.const 136 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -1941,7 +1943,7 @@ if i32.const 0 i32.const 136 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 8df4d63e..227ab041 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -283,7 +283,7 @@ if i32.const 0 i32.const 96 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -297,7 +297,7 @@ if i32.const 0 i32.const 96 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -3052,7 +3052,7 @@ if i32.const 0 i32.const 96 - i32.const 233 + i32.const 251 i32.const 57 call $~lib/env/abort unreachable @@ -4006,44 +4006,44 @@ ) (func $~lib/util/number/genDigits (; 46 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) - (local $8 i32) - (local $9 i64) - (local $10 i32) + (local $8 i64) + (local $9 i32) + (local $10 i64) (local $11 i64) (local $12 i32) - (local $13 i64) + (local $13 i32) (local $14 i64) local.get $3 local.get $1 i64.sub - local.set $11 + local.set $8 i64.const 1 i32.const 0 local.get $4 i32.sub - local.tee $10 + local.tee $12 i64.extend_i32_s - local.tee $13 + local.tee $1 i64.shl - local.tee $9 + local.tee $10 i64.const 1 i64.sub local.tee $14 local.get $3 i64.and - local.set $1 + local.set $11 local.get $3 - local.get $13 + local.get $1 i64.shr_u i32.wrap_i64 local.tee $7 call $~lib/util/number/decimalCount32 - local.set $8 + local.set $9 i32.const 4108 i32.load - local.set $12 + local.set $13 loop $continue|0 - local.get $8 + local.get $9 i32.const 0 i32.gt_s if @@ -4058,12 +4058,12 @@ block $case3|1 block $case2|1 block $case1|1 - local.get $8 - local.tee $2 + local.get $9 + local.tee $4 i32.const 10 i32.ne if - local.get $2 + local.get $4 i32.const 1 i32.sub br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case10|1 @@ -4071,7 +4071,7 @@ local.get $7 i32.const 1000000000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 1000000000 i32.rem_u @@ -4081,7 +4081,7 @@ local.get $7 i32.const 100000000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 100000000 i32.rem_u @@ -4091,7 +4091,7 @@ local.get $7 i32.const 10000000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 10000000 i32.rem_u @@ -4101,7 +4101,7 @@ local.get $7 i32.const 1000000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 1000000 i32.rem_u @@ -4111,7 +4111,7 @@ local.get $7 i32.const 100000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 100000 i32.rem_u @@ -4121,7 +4121,7 @@ local.get $7 i32.const 10000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 10000 i32.rem_u @@ -4131,7 +4131,7 @@ local.get $7 i32.const 1000 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 1000 i32.rem_u @@ -4141,7 +4141,7 @@ local.get $7 i32.const 100 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 100 i32.rem_u @@ -4151,7 +4151,7 @@ local.get $7 i32.const 10 i32.div_u - local.set $4 + local.set $2 local.get $7 i32.const 10 i32.rem_u @@ -4159,110 +4159,105 @@ br $break|1 end local.get $7 - local.set $4 + local.set $2 i32.const 0 local.set $7 br $break|1 end i32.const 0 - local.set $4 + local.set $2 end - local.get $4 + local.get $2 local.get $6 i32.or if local.get $6 - local.tee $2 + local.tee $4 i32.const 1 i32.add local.set $6 - local.get $2 + local.get $4 i32.const 1 i32.shl local.get $0 i32.add - local.get $4 + local.get $2 i32.const 65535 i32.and i32.const 48 i32.add i32.store16 end - local.get $8 + local.get $9 i32.const 1 i32.sub - local.set $8 + local.set $9 local.get $7 i64.extend_i32_u - local.get $10 + local.get $12 i64.extend_i32_s i64.shl - local.get $1 + local.get $11 i64.add - local.tee $3 + local.tee $1 local.get $5 i64.le_u if global.get $~lib/util/number/_K - local.get $8 + local.get $9 i32.add global.set $~lib/util/number/_K - local.get $5 - local.set $9 - local.get $3 - local.set $1 - local.get $8 + local.get $9 i32.const 2 i32.shl - local.get $12 + local.get $13 i32.add i64.load32_u - local.get $10 + local.get $12 i64.extend_i32_s i64.shl - local.set $3 - local.get $11 - local.set $5 + local.set $10 local.get $6 + local.tee $4 i32.const 1 i32.sub i32.const 1 i32.shl local.get $0 i32.add - local.tee $4 + local.tee $6 i32.load16_u local.set $7 loop $continue|2 local.get $1 - local.get $5 + local.get $8 i64.lt_u local.tee $0 if - local.get $9 + local.get $5 local.get $1 i64.sub - local.get $3 + local.get $10 i64.ge_u local.set $0 end local.get $0 if local.get $1 - local.get $3 + local.get $10 i64.add - local.get $5 + local.get $8 i64.lt_u local.tee $0 i32.eqz if - local.get $5 + local.get $8 local.get $1 i64.sub local.get $1 - local.get $3 + local.get $10 i64.add - local.get $5 + local.get $8 i64.sub i64.gt_u local.set $0 @@ -4275,16 +4270,16 @@ i32.sub local.set $7 local.get $1 - local.get $3 + local.get $10 i64.add local.set $1 br $continue|2 end end - local.get $4 + local.get $6 local.get $7 i32.store16 - local.get $6 + local.get $4 return end br $continue|0 @@ -4295,14 +4290,14 @@ i64.const 10 i64.mul local.set $5 - local.get $1 + local.get $11 i64.const 10 i64.mul - local.tee $1 - local.get $10 + local.tee $11 + local.get $12 i64.extend_i32_s i64.shr_u - local.tee $3 + local.tee $1 local.get $6 i64.extend_i32_s i64.or @@ -4310,16 +4305,16 @@ i64.ne if local.get $6 - local.tee $4 + local.tee $2 i32.const 1 i32.add local.set $6 - local.get $4 + local.get $2 i32.const 1 i32.shl local.get $0 i32.add - local.get $3 + local.get $1 i32.wrap_i64 i32.const 65535 i32.and @@ -4327,104 +4322,103 @@ i32.add i32.store16 end - local.get $8 + local.get $9 i32.const 1 i32.sub - local.set $8 - local.get $1 + local.set $9 + local.get $11 local.get $14 i64.and - local.tee $1 + local.tee $11 local.get $5 i64.ge_u br_if $continue|3 global.get $~lib/util/number/_K - local.get $8 + local.get $9 i32.add global.set $~lib/util/number/_K - local.get $1 - local.set $3 - local.get $9 + local.get $11 local.set $1 i32.const 0 - local.get $8 + local.get $9 i32.sub i32.const 2 i32.shl - local.get $12 + local.get $13 i32.add i64.load32_u - local.get $11 + local.get $8 i64.mul - local.set $9 + local.set $8 local.get $6 - local.tee $7 + local.tee $2 i32.const 1 i32.sub i32.const 1 i32.shl local.get $0 i32.add - local.tee $4 + local.tee $6 i32.load16_u - local.set $6 + local.set $4 loop $continue|4 - local.get $3 - local.get $9 + local.get $1 + local.get $8 i64.lt_u - local.tee $2 + local.tee $0 if local.get $5 - local.get $3 - i64.sub local.get $1 + i64.sub + local.get $10 i64.ge_u - local.set $2 + local.set $0 end - local.get $2 + local.get $0 if local.get $1 - local.get $3 + local.get $10 i64.add - local.get $9 + local.get $8 i64.lt_u - local.tee $2 + local.tee $0 i32.eqz if - local.get $9 - local.get $3 + local.get $8 + local.get $1 i64.sub local.get $1 - local.get $3 + local.get $10 i64.add - local.get $9 + local.get $8 i64.sub i64.gt_u - local.set $2 + local.set $0 end end - local.get $2 + local.get $0 if - local.get $6 + local.get $4 i32.const 1 i32.sub - local.set $6 + local.set $4 local.get $1 - local.get $3 + local.get $10 i64.add - local.set $3 + local.set $1 br $continue|4 end end - local.get $4 local.get $6 + local.get $4 i32.store16 - local.get $7 + local.get $2 end ) (func $~lib/util/number/prettify (; 47 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) local.get $2 i32.eqz if @@ -4444,78 +4438,78 @@ local.get $1 local.get $2 i32.add - local.tee $3 - i32.le_s local.tee $4 + i32.le_s + local.tee $3 if - local.get $3 + local.get $4 i32.const 21 i32.le_s - local.set $4 + local.set $3 end - local.get $4 + local.get $3 if (result i32) local.get $1 - local.set $4 + local.set $3 loop $repeat|0 block $break|0 - local.get $4 local.get $3 + local.get $4 i32.ge_s br_if $break|0 - local.get $4 + local.get $3 i32.const 1 i32.shl local.get $0 i32.add i32.const 48 i32.store16 - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $repeat|0 end end - local.get $3 + local.get $4 i32.const 1 i32.shl local.get $0 i32.add i32.const 3145774 i32.store - local.get $3 + local.get $4 i32.const 2 i32.add else - local.get $3 + local.get $4 i32.const 0 i32.gt_s - local.tee $4 + local.tee $3 if - local.get $3 + local.get $4 i32.const 21 i32.le_s - local.set $4 + local.set $3 end - local.get $4 + local.get $3 if (result i32) - local.get $3 + local.get $4 i32.const 1 i32.shl local.get $0 i32.add - local.tee $4 + local.tee $3 i32.const 2 i32.add - local.get $4 + local.get $3 i32.const 0 local.get $2 i32.sub i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $4 + local.get $3 i32.const 46 i32.store16 local.get $1 @@ -4523,21 +4517,21 @@ i32.add else i32.const -6 - local.get $3 + local.get $4 i32.lt_s - local.tee $4 + local.tee $3 if - local.get $3 + local.get $4 i32.const 0 i32.le_s - local.set $4 + local.set $3 end - local.get $4 + local.get $3 if (result i32) i32.const 2 - local.get $3 + local.get $4 i32.sub - local.tee $4 + local.tee $3 i32.const 1 i32.shl local.get $0 @@ -4551,29 +4545,29 @@ i32.const 3014704 i32.store i32.const 2 - local.set $3 + local.set $5 loop $repeat|1 block $break|1 + local.get $5 local.get $3 - local.get $4 i32.ge_s br_if $break|1 - local.get $3 + local.get $5 i32.const 1 i32.shl local.get $0 i32.add i32.const 48 i32.store16 - local.get $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $repeat|1 end end local.get $1 - local.get $4 + local.get $3 i32.add else local.get $1 @@ -4586,9 +4580,9 @@ local.get $0 i32.const 4 i32.add - local.tee $4 + local.tee $5 block (result i32) - local.get $3 + local.get $4 i32.const 1 i32.sub local.tee $3 @@ -4609,7 +4603,7 @@ i32.add local.tee $2 call $~lib/util/number/utoa32_lut - local.get $4 + local.get $5 i32.const 45 i32.const 43 local.get $0 @@ -4644,37 +4638,37 @@ local.get $0 i32.const 4 i32.add - local.tee $0 + local.tee $3 block (result i32) - local.get $3 + local.get $4 i32.const 1 i32.sub - local.tee $3 + local.tee $0 i32.const 0 i32.lt_s - local.tee $4 + local.tee $5 if i32.const 0 - local.get $3 + local.get $0 i32.sub - local.set $3 + local.set $0 end - local.get $3 + local.get $0 end - local.get $3 + local.get $0 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.tee $2 + local.tee $0 call $~lib/util/number/utoa32_lut - local.get $0 + local.get $3 i32.const 45 i32.const 43 - local.get $4 + local.get $5 select i32.store16 + local.get $0 local.get $1 - local.get $2 i32.add i32.const 2 i32.add @@ -4684,8 +4678,8 @@ end ) (func $~lib/util/number/dtoa_core (; 48 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) + (local $3 i32) (local $4 i64) (local $5 i64) (local $6 i64) @@ -4693,14 +4687,13 @@ (local $8 i32) (local $9 i64) (local $10 i64) - (local $11 i64) - (local $12 i32) + (local $11 i32) + (local $12 i64) (local $13 i64) - (local $14 i64) local.get $1 f64.const 0 f64.lt - local.tee $12 + local.tee $11 if (result f64) local.get $0 i32.const 45 @@ -4711,14 +4704,14 @@ local.get $1 end i64.reinterpret_f64 - local.tee $3 + local.tee $2 i64.const 9218868437227405312 i64.and i64.const 52 i64.shr_u i32.wrap_i64 local.set $7 - local.get $3 + local.get $2 i64.const 4503599627370495 i64.and local.get $7 @@ -4729,7 +4722,7 @@ i64.const 52 i64.shl i64.add - local.tee $3 + local.tee $2 i64.const 1 i64.shl i64.const 1 @@ -4737,9 +4730,9 @@ local.tee $5 i64.clz i32.wrap_i64 - local.set $2 + local.set $3 local.get $5 - local.get $2 + local.get $3 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus @@ -4752,11 +4745,11 @@ local.tee $7 i32.const 1 i32.sub - local.get $2 + local.get $3 i32.sub - local.set $2 - local.get $3 - local.get $3 + local.set $3 + local.get $2 + local.get $2 i64.const 4503599627370496 i64.eq i32.const 1 @@ -4769,12 +4762,12 @@ local.get $7 local.get $8 i32.sub - local.get $2 + local.get $3 i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $2 + local.get $3 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 @@ -4787,8 +4780,8 @@ f64.add local.tee $1 i32.trunc_f64_s - local.tee $2 - local.get $2 + local.tee $3 + local.get $3 f64.convert_i32_s local.get $1 f64.ne @@ -4797,7 +4790,7 @@ i32.shr_s i32.const 1 i32.add - local.tee $2 + local.tee $3 i32.const 3 i32.shl local.tee $8 @@ -4811,20 +4804,20 @@ global.set $~lib/util/number/_frc_pow i32.const 4036 i32.load - local.get $2 + local.get $3 i32.const 1 i32.shl i32.add i32.load16_s global.set $~lib/util/number/_exp_pow - local.get $3 - local.get $3 + local.get $2 + local.get $2 i64.clz i32.wrap_i64 - local.tee $2 + local.tee $3 i64.extend_i32_s i64.shl - local.tee $3 + local.tee $2 i64.const 4294967295 i64.and local.tee $9 @@ -4838,13 +4831,13 @@ local.get $5 i64.const 32 i64.shr_u - local.tee $11 + local.tee $6 local.get $9 i64.mul - local.get $3 + local.get $2 i64.const 32 i64.shr_u - local.tee $6 + local.tee $2 local.get $10 i64.mul local.get $4 @@ -4859,43 +4852,43 @@ i64.add i64.const 32 i64.shr_u + local.get $2 local.get $6 - local.get $11 i64.mul local.get $4 i64.const 32 i64.shr_u i64.add i64.add - local.set $14 + local.set $13 local.get $5 i64.const 4294967295 i64.and - local.tee $6 + local.tee $2 global.get $~lib/util/number/_frc_plus local.tee $4 i64.const 4294967295 i64.and - local.tee $11 + local.tee $6 i64.mul - local.set $3 - local.get $11 + local.set $12 + local.get $6 local.get $5 i64.const 32 i64.shr_u local.tee $9 i64.mul - local.get $6 + local.get $2 local.get $4 i64.const 32 i64.shr_u local.tee $10 i64.mul - local.get $3 + local.get $12 i64.const 32 i64.shr_u i64.add - local.tee $13 + local.tee $2 i64.const 4294967295 i64.and i64.add @@ -4906,19 +4899,19 @@ local.get $9 local.get $10 i64.mul - local.get $13 + local.get $2 i64.const 32 i64.shr_u i64.add i64.add local.set $6 global.get $~lib/util/number/_frc_minus - local.tee $13 + local.tee $12 i64.const 4294967295 i64.and local.tee $9 local.get $5 - local.tee $3 + local.tee $2 i64.const 4294967295 i64.and local.tee $10 @@ -4928,16 +4921,16 @@ i64.const 1 i64.sub local.tee $5 - local.get $3 - i64.const 32 - i64.shr_u - local.tee $11 - local.get $9 - i64.mul - local.get $13 + local.get $2 i64.const 32 i64.shr_u local.tee $6 + local.get $9 + i64.mul + local.get $12 + i64.const 32 + i64.shr_u + local.tee $2 local.get $10 i64.mul local.get $4 @@ -4952,8 +4945,8 @@ i64.add i64.const 32 i64.shr_u + local.get $2 local.get $6 - local.get $11 i64.mul local.get $4 i64.const 32 @@ -4964,35 +4957,35 @@ i64.add i64.sub local.set $4 - local.get $12 + local.get $11 i32.const 1 i32.shl local.get $0 i32.add local.get $0 - local.get $14 + local.get $13 local.get $7 - local.get $2 + local.get $3 i32.sub global.get $~lib/util/number/_exp_pow - local.tee $2 + local.tee $3 i32.add i32.const -64 i32.sub local.get $5 global.get $~lib/util/number/_exp - local.get $2 + local.get $3 i32.add i32.const -64 i32.sub local.get $4 - local.get $12 + local.get $11 call $~lib/util/number/genDigits - local.get $12 + local.get $11 i32.sub global.get $~lib/util/number/_K call $~lib/util/number/prettify - local.get $12 + local.get $11 i32.add ) (func $~lib/string/String#substring (; 49 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index db33c25e..e960f3ea 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -353,7 +353,7 @@ if i32.const 0 i32.const 96 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -368,7 +368,7 @@ if i32.const 0 i32.const 96 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -2001,6 +2001,8 @@ ) (func $~lib/memory/memory.copy (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 @@ -2013,9 +2015,9 @@ i32.add local.get $0 i32.le_u - local.tee $3 + local.tee $5 if (result i32) - local.get $3 + local.get $5 else local.get $0 local.get $2 @@ -2060,19 +2062,19 @@ local.set $2 block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -2117,19 +2119,19 @@ block block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -3480,7 +3482,8 @@ (func $~lib/memory/memory.fill (; 33 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -3556,13 +3559,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -3676,13 +3679,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -3692,7 +3695,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -3701,22 +3704,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 @@ -3777,7 +3780,7 @@ if i32.const 0 i32.const 96 - i32.const 233 + i32.const 251 i32.const 57 call $~lib/env/abort unreachable @@ -3993,23 +3996,23 @@ local.set $4 block $~lib/runtime/REALLOCATE|inlined.0 (result i32) local.get $3 - local.set $5 - local.get $4 local.set $6 - local.get $5 + local.get $4 + local.set $5 local.get $6 + local.get $5 call $~lib/runtime/doReallocate end - local.set $6 - local.get $6 + local.set $5 + local.get $5 local.get $3 i32.ne if local.get $0 - local.get $6 + local.get $5 i32.store local.get $0 - local.get $6 + local.get $5 i32.store offset=4 end local.get $0 @@ -4622,14 +4625,14 @@ local.set $4 block $~lib/util/number/utoa32_core|inlined.0 local.get $4 - local.set $3 + local.set $6 local.get $0 local.set $5 local.get $2 - local.set $6 - local.get $3 - local.get $5 + local.set $3 local.get $6 + local.get $5 + local.get $3 call $~lib/util/number/utoa32_lut end local.get $1 @@ -4640,8 +4643,8 @@ end block $~lib/runtime/REGISTER|inlined.10 (result i32) local.get $4 - local.set $6 - local.get $6 + local.set $3 + local.get $3 i32.const 1 call $~lib/runtime/doRegister end @@ -4672,20 +4675,20 @@ local.set $3 block $~lib/util/number/utoa32_core|inlined.1 local.get $3 - local.set $2 + local.set $5 local.get $0 local.set $4 local.get $1 - local.set $5 - local.get $2 - local.get $4 + local.set $2 local.get $5 + local.get $4 + local.get $2 call $~lib/util/number/utoa32_lut end block $~lib/runtime/REGISTER|inlined.11 (result i32) local.get $3 - local.set $5 - local.get $5 + local.set $2 + local.get $2 i32.const 1 call $~lib/runtime/doRegister end @@ -4923,14 +4926,14 @@ local.set $1 block $~lib/util/number/utoa32_core|inlined.2 local.get $1 - local.set $4 + local.set $6 local.get $2 local.set $5 local.get $3 - local.set $6 - local.get $4 - local.get $5 + local.set $4 local.get $6 + local.get $5 + local.get $4 call $~lib/util/number/utoa32_lut end else @@ -4948,14 +4951,14 @@ local.set $1 block $~lib/util/number/utoa64_core|inlined.0 local.get $1 - local.set $2 + local.set $4 local.get $0 local.set $7 local.get $3 - local.set $6 - local.get $2 + local.set $2 + local.get $4 local.get $7 - local.get $6 + local.get $2 call $~lib/util/number/utoa64_lut end end @@ -5017,14 +5020,14 @@ local.set $2 block $~lib/util/number/utoa32_core|inlined.3 local.get $2 - local.set $5 + local.set $7 local.get $3 local.set $6 local.get $4 - local.set $7 - local.get $5 - local.get $6 + local.set $5 local.get $7 + local.get $6 + local.get $5 call $~lib/util/number/utoa32_lut end else @@ -5044,14 +5047,14 @@ local.set $2 block $~lib/util/number/utoa64_core|inlined.1 local.get $2 - local.set $3 + local.set $5 local.get $0 local.set $8 local.get $4 - local.set $7 - local.get $3 + local.set $3 + local.get $5 local.get $8 - local.get $7 + local.get $3 call $~lib/util/number/utoa64_lut end end @@ -5392,13 +5395,13 @@ global.set $~lib/util/number/_K block $~lib/util/number/grisuRound|inlined.0 local.get $0 - local.set $18 - local.get $15 local.set $20 + local.get $15 + local.set $18 local.get $5 - local.set $21 + local.set $24 local.get $19 - local.set $22 + local.set $23 local.get $16 local.get $14 i32.const 2 @@ -5408,11 +5411,11 @@ local.get $7 i64.extend_i32_s i64.shl - local.set $23 + local.set $22 local.get $10 - local.set $24 - local.get $18 + local.set $21 local.get $20 + local.get $18 i32.const 1 i32.sub i32.const 1 @@ -5424,37 +5427,37 @@ local.set $26 block $break|2 loop $continue|2 - local.get $22 - local.get $24 + local.get $23 + local.get $21 i64.lt_u local.tee $27 if (result i32) - local.get $21 - local.get $22 - i64.sub + local.get $24 local.get $23 + i64.sub + local.get $22 i64.ge_u else local.get $27 end local.tee $27 if (result i32) - local.get $22 local.get $23 + local.get $22 i64.add - local.get $24 + local.get $21 i64.lt_u local.tee $27 if (result i32) local.get $27 else - local.get $24 - local.get $22 - i64.sub - local.get $22 + local.get $21 local.get $23 + i64.sub + local.get $23 + local.get $22 i64.add - local.get $24 + local.get $21 i64.sub i64.gt_u end @@ -5467,10 +5470,10 @@ i32.const 1 i32.sub local.set $26 - local.get $22 local.get $23 + local.get $22 i64.add - local.set $22 + local.set $23 end br $continue|2 end @@ -5562,9 +5565,9 @@ local.set $10 block $~lib/util/number/grisuRound|inlined.1 local.get $0 - local.set $17 - local.get $15 local.set $26 + local.get $15 + local.set $17 local.get $5 local.set $24 local.get $13 @@ -5573,8 +5576,8 @@ local.set $22 local.get $10 local.set $21 - local.get $17 local.get $26 + local.get $17 i32.const 1 i32.sub i32.const 1 @@ -5583,13 +5586,13 @@ local.set $25 local.get $25 i32.load16_u - local.set $20 + local.set $18 block $break|4 loop $continue|4 local.get $23 local.get $21 i64.lt_u - local.tee $18 + local.tee $20 if (result i32) local.get $24 local.get $23 @@ -5597,18 +5600,18 @@ local.get $22 i64.ge_u else - local.get $18 + local.get $20 end - local.tee $18 + local.tee $20 if (result i32) local.get $23 local.get $22 i64.add local.get $21 i64.lt_u - local.tee $18 + local.tee $20 if (result i32) - local.get $18 + local.get $20 else local.get $21 local.get $23 @@ -5621,14 +5624,14 @@ i64.gt_u end else - local.get $18 + local.get $20 end if block - local.get $20 + local.get $18 i32.const 1 i32.sub - local.set $20 + local.set $18 local.get $23 local.get $22 i64.add @@ -5639,7 +5642,7 @@ end end local.get $25 - local.get $20 + local.get $18 i32.store16 end local.get $15 @@ -5852,40 +5855,40 @@ local.get $0 i32.const 4 i32.add - local.set $4 + local.set $5 local.get $3 i32.const 1 i32.sub - local.set $5 - local.get $5 + local.set $4 + local.get $4 i32.const 0 i32.lt_s local.set $6 local.get $6 if i32.const 0 - local.get $5 + local.get $4 i32.sub - local.set $5 + local.set $4 end - local.get $5 + local.get $4 call $~lib/util/number/decimalCount32 i32.const 1 i32.add local.set $7 block $~lib/util/number/utoa32_core|inlined.4 - local.get $4 - local.set $8 local.get $5 + local.set $10 + local.get $4 local.set $9 local.get $7 - local.set $10 - local.get $8 - local.get $9 + local.set $8 local.get $10 + local.get $9 + local.get $8 call $~lib/util/number/utoa32_lut end - local.get $4 + local.get $5 i32.const 45 i32.const 43 local.get $6 @@ -5928,46 +5931,46 @@ i32.add i32.const 4 i32.add - local.set $6 + local.set $4 local.get $3 i32.const 1 i32.sub - local.set $5 - local.get $5 + local.set $6 + local.get $6 i32.const 0 i32.lt_s - local.set $4 - local.get $4 + local.set $5 + local.get $5 if i32.const 0 - local.get $5 + local.get $6 i32.sub - local.set $5 + local.set $6 end - local.get $5 + local.get $6 call $~lib/util/number/decimalCount32 i32.const 1 i32.add - local.set $10 + local.set $8 block $~lib/util/number/utoa32_core|inlined.5 - local.get $6 - local.set $9 - local.get $5 - local.set $8 - local.get $10 + local.get $4 local.set $11 - local.get $9 + local.get $6 + local.set $10 local.get $8 + local.set $9 local.get $11 + local.get $10 + local.get $9 call $~lib/util/number/utoa32_lut end - local.get $6 + local.get $4 i32.const 45 i32.const 43 - local.get $4 + local.get $5 select i32.store16 - local.get $10 + local.get $8 end i32.add local.set $1 @@ -6030,9 +6033,9 @@ local.get $1 local.set $3 local.get $0 - local.set $4 - local.get $2 local.set $5 + local.get $2 + local.set $4 local.get $3 i64.reinterpret_f64 local.set $6 @@ -6190,22 +6193,22 @@ local.set $14 block $~lib/util/number/umul64f|inlined.0 (result i64) local.get $9 - local.set $10 - local.get $12 local.set $17 - local.get $10 + local.get $12 + local.set $10 + local.get $17 i64.const 4294967295 i64.and local.set $18 - local.get $17 + local.get $10 i64.const 4294967295 i64.and local.set $19 - local.get $10 + local.get $17 i64.const 32 i64.shr_u local.set $20 - local.get $17 + local.get $10 i64.const 32 i64.shr_u local.set $21 @@ -6252,53 +6255,53 @@ local.set $24 block $~lib/util/number/umul64e|inlined.0 (result i32) local.get $7 - local.set $15 - local.get $14 local.set $11 - local.get $15 + local.get $14 + local.set $15 local.get $11 + local.get $15 i32.add i32.const 64 i32.add end - local.set $11 + local.set $15 block $~lib/util/number/umul64f|inlined.1 (result i64) global.get $~lib/util/number/_frc_plus - local.set $23 - local.get $12 local.set $22 - local.get $23 + local.get $12 + local.set $23 + local.get $22 i64.const 4294967295 i64.and local.set $21 - local.get $22 + local.get $23 i64.const 4294967295 i64.and local.set $20 - local.get $23 + local.get $22 i64.const 32 i64.shr_u local.set $19 - local.get $22 + local.get $23 i64.const 32 i64.shr_u local.set $18 local.get $21 local.get $20 i64.mul - local.set $17 + local.set $10 local.get $19 local.get $20 i64.mul - local.get $17 + local.get $10 i64.const 32 i64.shr_u i64.add - local.set $10 + local.set $17 local.get $21 local.get $18 i64.mul - local.get $10 + local.get $17 i64.const 4294967295 i64.and i64.add @@ -6307,10 +6310,10 @@ i64.const 2147483647 i64.add local.set $25 - local.get $10 + local.get $17 i64.const 32 i64.shr_u - local.set $10 + local.set $17 local.get $25 i64.const 32 i64.shr_u @@ -6318,7 +6321,7 @@ local.get $19 local.get $18 i64.mul - local.get $10 + local.get $17 i64.add local.get $25 i64.add @@ -6328,16 +6331,16 @@ local.set $25 block $~lib/util/number/umul64e|inlined.1 (result i32) global.get $~lib/util/number/_exp - local.set $15 - local.get $14 local.set $26 - local.get $15 + local.get $14 + local.set $11 local.get $26 + local.get $11 i32.add i32.const 64 i32.add end - local.set $26 + local.set $11 block $~lib/util/number/umul64f|inlined.2 (result i64) global.get $~lib/util/number/_frc_minus local.set $10 @@ -6362,19 +6365,19 @@ local.get $18 local.get $19 i64.mul - local.set $22 + local.set $23 local.get $20 local.get $19 i64.mul - local.get $22 + local.get $23 i64.const 32 i64.shr_u i64.add - local.set $23 + local.set $22 local.get $18 local.get $21 i64.mul - local.get $23 + local.get $22 i64.const 4294967295 i64.and i64.add @@ -6383,10 +6386,10 @@ i64.const 2147483647 i64.add local.set $27 - local.get $23 + local.get $22 i64.const 32 i64.shr_u - local.set $23 + local.set $22 local.get $27 i64.const 32 i64.shr_u @@ -6394,7 +6397,7 @@ local.get $20 local.get $21 i64.mul - local.get $23 + local.get $22 i64.add local.get $27 i64.add @@ -6405,14 +6408,14 @@ local.get $25 local.get $27 i64.sub - local.set $23 - local.get $4 - local.get $24 - local.get $11 - local.get $25 - local.get $26 - local.get $23 + local.set $22 local.get $5 + local.get $24 + local.get $15 + local.get $25 + local.get $11 + local.get $22 + local.get $4 call $~lib/util/number/genDigits end local.set $28 @@ -6780,14 +6783,14 @@ end block $~lib/string/String#includes|inlined.0 (result i32) global.get $std/string/str - local.set $0 + local.set $2 i32.const 280 local.set $1 i32.const 0 - local.set $2 - local.get $0 - local.get $1 + local.set $0 local.get $2 + local.get $1 + local.get $0 call $~lib/string/String#indexOf i32.const -1 i32.ne @@ -8195,7 +8198,7 @@ call $~lib/array/Array#get:length i32.const 1 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8203,7 +8206,7 @@ i32.const 312 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8241,7 +8244,7 @@ call $~lib/array/Array#get:length i32.const 1 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8249,7 +8252,7 @@ i32.const 312 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8269,7 +8272,7 @@ call $~lib/array/Array#get:length i32.const 1 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8277,7 +8280,7 @@ i32.const 1480 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8297,7 +8300,7 @@ call $~lib/array/Array#get:length i32.const 3 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8305,9 +8308,9 @@ i32.const 336 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 1 @@ -8315,9 +8318,9 @@ i32.const 824 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 2 @@ -8325,7 +8328,7 @@ i32.const 1520 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8345,7 +8348,7 @@ call $~lib/array/Array#get:length i32.const 3 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8353,9 +8356,9 @@ i32.const 336 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 1 @@ -8363,9 +8366,9 @@ i32.const 824 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 2 @@ -8373,7 +8376,7 @@ i32.const 1520 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8393,7 +8396,7 @@ call $~lib/array/Array#get:length i32.const 4 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8401,9 +8404,9 @@ i32.const 336 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 1 @@ -8411,9 +8414,9 @@ i32.const 824 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 2 @@ -8421,9 +8424,9 @@ i32.const 312 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 3 @@ -8431,7 +8434,7 @@ i32.const 1520 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8451,7 +8454,7 @@ call $~lib/array/Array#get:length i32.const 4 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8459,9 +8462,9 @@ i32.const 312 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 1 @@ -8469,9 +8472,9 @@ i32.const 336 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 2 @@ -8479,9 +8482,9 @@ i32.const 824 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 3 @@ -8489,7 +8492,7 @@ i32.const 1520 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8509,7 +8512,7 @@ call $~lib/array/Array#get:length i32.const 4 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8517,9 +8520,9 @@ i32.const 336 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 1 @@ -8527,9 +8530,9 @@ i32.const 824 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 2 @@ -8537,9 +8540,9 @@ i32.const 1520 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 3 @@ -8547,7 +8550,7 @@ i32.const 312 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8567,7 +8570,7 @@ call $~lib/array/Array#get:length i32.const 3 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8575,9 +8578,9 @@ i32.const 336 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 1 @@ -8585,9 +8588,9 @@ i32.const 824 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 2 @@ -8595,7 +8598,7 @@ i32.const 1520 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8633,7 +8636,7 @@ call $~lib/array/Array#get:length i32.const 1 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8641,7 +8644,7 @@ i32.const 336 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8661,7 +8664,7 @@ call $~lib/array/Array#get:length i32.const 1 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8669,7 +8672,7 @@ i32.const 336 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8689,7 +8692,7 @@ call $~lib/array/Array#get:length i32.const 3 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8697,9 +8700,9 @@ i32.const 336 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 1 @@ -8707,9 +8710,9 @@ i32.const 824 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 2 @@ -8717,7 +8720,7 @@ i32.const 1520 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8737,7 +8740,7 @@ call $~lib/array/Array#get:length i32.const 3 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8745,9 +8748,9 @@ i32.const 336 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 1 @@ -8755,9 +8758,9 @@ i32.const 824 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 2 @@ -8765,7 +8768,7 @@ i32.const 1520 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if @@ -8785,7 +8788,7 @@ call $~lib/array/Array#get:length i32.const 3 i32.eq - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 0 @@ -8793,9 +8796,9 @@ i32.const 336 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 1 @@ -8803,9 +8806,9 @@ i32.const 824 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end - local.tee $2 + local.tee $0 if (result i32) global.get $std/string/sa i32.const 2 @@ -8813,7 +8816,7 @@ i32.const 1520 call $~lib/string/String.__eq else - local.get $2 + local.get $0 end i32.eqz if diff --git a/tests/compiler/std/symbol.optimized.wat b/tests/compiler/std/symbol.optimized.wat index 1c377a26..56520d67 100644 --- a/tests/compiler/std/symbol.optimized.wat +++ b/tests/compiler/std/symbol.optimized.wat @@ -143,7 +143,7 @@ if i32.const 0 i32.const 72 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -157,7 +157,7 @@ if i32.const 0 i32.const 72 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/symbol.untouched.wat b/tests/compiler/std/symbol.untouched.wat index 5bdcfb14..92918291 100644 --- a/tests/compiler/std/symbol.untouched.wat +++ b/tests/compiler/std/symbol.untouched.wat @@ -201,7 +201,7 @@ if i32.const 0 i32.const 72 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -216,7 +216,7 @@ if i32.const 0 i32.const 72 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -235,7 +235,8 @@ (func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -311,13 +312,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -431,13 +432,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -447,7 +448,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -456,22 +457,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 @@ -2776,6 +2777,8 @@ ) (func $~lib/memory/memory.copy (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 @@ -2788,9 +2791,9 @@ i32.add local.get $0 i32.le_u - local.tee $3 + local.tee $5 if (result i32) - local.get $3 + local.get $5 else local.get $0 local.get $2 @@ -2835,19 +2838,19 @@ local.set $2 block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -2892,19 +2895,19 @@ block block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index 5eee3c92..75c82fb9 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -403,7 +403,7 @@ if i32.const 0 i32.const 64 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -417,7 +417,7 @@ if i32.const 0 i32.const 64 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -465,7 +465,7 @@ if i32.const 0 i32.const 64 - i32.const 233 + i32.const 251 i32.const 57 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 89f7791d..aa6c188f 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -225,7 +225,8 @@ (func $~lib/memory/memory.fill (; 4 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i64) block $~lib/util/memory/memset|inlined.0 local.get $2 i32.eqz @@ -301,13 +302,13 @@ i32.sub i32.const 3 i32.and - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $2 @@ -421,13 +422,13 @@ i32.const 4 i32.and i32.add - local.set $3 + local.set $5 local.get $0 - local.get $3 + local.get $5 i32.add local.set $0 local.get $2 - local.get $3 + local.get $5 i32.sub local.set $2 local.get $4 @@ -437,7 +438,7 @@ i64.const 32 i64.shl i64.or - local.set $5 + local.set $6 block $break|0 loop $continue|0 local.get $2 @@ -446,22 +447,22 @@ if block local.get $0 - local.get $5 + local.get $6 i64.store local.get $0 i32.const 8 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 16 i32.add - local.get $5 + local.get $6 i64.store local.get $0 i32.const 24 i32.add - local.get $5 + local.get $6 i64.store local.get $2 i32.const 32 @@ -486,7 +487,7 @@ if i32.const 0 i32.const 64 - i32.const 199 + i32.const 217 i32.const 2 call $~lib/env/abort unreachable @@ -501,7 +502,7 @@ if i32.const 0 i32.const 64 - i32.const 200 + i32.const 218 i32.const 2 call $~lib/env/abort unreachable @@ -561,7 +562,7 @@ if i32.const 0 i32.const 64 - i32.const 233 + i32.const 251 i32.const 57 call $~lib/env/abort unreachable @@ -1500,12 +1501,12 @@ (local $8 i32) (local $9 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 call $~lib/typedarray/Int32Array#get:length local.set $6 local.get $4 @@ -1534,12 +1535,12 @@ select local.set $4 end - local.get $5 + local.get $3 i32.const 0 i32.lt_s if local.get $6 - local.get $5 + local.get $3 i32.add local.tee $7 local.get $4 @@ -1548,9 +1549,9 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 else - local.get $5 + local.get $3 local.tee $7 local.get $6 local.tee $8 @@ -1565,13 +1566,13 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 end block $~lib/runtime/REGISTER|inlined.1 (result i32) block $~lib/runtime/ALLOCATE|inlined.13 (result i32) i32.const 12 - local.set $7 - local.get $7 + local.set $8 + local.get $8 call $~lib/runtime/doAllocate end local.set $7 @@ -1580,10 +1581,10 @@ call $~lib/runtime/doRegister end local.set $7 - local.get $3 + local.get $5 i32.load local.set $8 - local.get $3 + local.get $5 i32.load offset=4 local.set $9 local.get $7 @@ -1597,7 +1598,7 @@ i32.add i32.store offset=4 local.get $7 - local.get $5 + local.get $3 local.get $4 i32.sub i32.const 2 @@ -1638,12 +1639,12 @@ (local $8 i32) (local $9 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 call $~lib/typedarray/Float64Array#get:length local.set $6 local.get $4 @@ -1672,12 +1673,12 @@ select local.set $4 end - local.get $5 + local.get $3 i32.const 0 i32.lt_s if local.get $6 - local.get $5 + local.get $3 i32.add local.tee $7 local.get $4 @@ -1686,9 +1687,9 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 else - local.get $5 + local.get $3 local.tee $7 local.get $6 local.tee $8 @@ -1703,13 +1704,13 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 end block $~lib/runtime/REGISTER|inlined.1 (result i32) block $~lib/runtime/ALLOCATE|inlined.14 (result i32) i32.const 12 - local.set $7 - local.get $7 + local.set $8 + local.get $8 call $~lib/runtime/doAllocate end local.set $7 @@ -1718,10 +1719,10 @@ call $~lib/runtime/doRegister end local.set $7 - local.get $3 + local.get $5 i32.load local.set $8 - local.get $3 + local.get $5 i32.load offset=4 local.set $9 local.get $7 @@ -1735,7 +1736,7 @@ i32.add i32.store offset=4 local.get $7 - local.get $5 + local.get $3 local.get $4 i32.sub i32.const 3 @@ -2156,20 +2157,20 @@ (local $10 i32) block $~lib/typedarray/SORT|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 call $~lib/typedarray/Float64Array#get:length local.set $4 local.get $4 i32.const 1 i32.le_s if - local.get $2 + local.get $3 br $~lib/typedarray/SORT|inlined.0 end - local.get $2 + local.get $3 i32.load offset=4 local.set $5 local.get $4 @@ -2187,7 +2188,7 @@ global.set $~lib/argc local.get $6 local.get $7 - local.get $3 + local.get $2 call_indirect (type $FUNCSIG$idd) end i32.const 0 @@ -2200,32 +2201,32 @@ local.get $6 f64.store end - local.get $2 + local.get $3 br $~lib/typedarray/SORT|inlined.0 end block $~lib/util/sort/SORT|inlined.0 local.get $5 - local.set $8 + local.set $10 local.get $4 local.set $9 - local.get $3 - local.set $10 + local.get $2 + local.set $8 local.get $9 i32.const 256 i32.lt_s if - local.get $8 - local.get $9 local.get $10 + local.get $9 + local.get $8 call $~lib/util/sort/insertionSort else - local.get $8 - local.get $9 local.get $10 + local.get $9 + local.get $8 call $~lib/util/sort/weakHeapSort end end - local.get $2 + local.get $3 end ) (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 43 ;) (type $FUNCSIG$idd) (param $0 f64) (param $1 f64) (result i32) @@ -2384,25 +2385,25 @@ (local $10 i32) (local $11 i32) local.get $0 - local.set $4 - local.get $1 - local.set $5 - local.get $2 - local.set $6 - local.get $3 local.set $7 - local.get $4 + local.get $1 + local.set $6 + local.get $2 + local.set $5 + local.get $3 + local.set $4 + local.get $7 i32.load offset=4 local.set $8 - local.get $4 + local.get $7 call $~lib/typedarray/Int8Array#get:length local.set $9 - local.get $6 + local.get $5 i32.const 0 i32.lt_s if (result i32) local.get $9 - local.get $6 + local.get $5 i32.add local.tee $10 i32.const 0 @@ -2412,7 +2413,7 @@ i32.gt_s select else - local.get $6 + local.get $5 local.tee $10 local.get $9 local.tee $11 @@ -2421,13 +2422,13 @@ i32.lt_s select end - local.set $6 - local.get $7 + local.set $5 + local.get $4 i32.const 0 i32.lt_s if (result i32) local.get $9 - local.get $7 + local.get $4 i32.add local.tee $10 i32.const 0 @@ -2437,7 +2438,7 @@ i32.gt_s select else - local.get $7 + local.get $4 local.tee $10 local.get $9 local.tee $11 @@ -2446,21 +2447,21 @@ i32.lt_s select end - local.set $7 - local.get $6 - local.get $7 + local.set $4 + local.get $5 + local.get $4 i32.lt_s if local.get $8 - local.get $6 - i32.add local.get $5 - local.get $7 + i32.add local.get $6 + local.get $4 + local.get $5 i32.sub call $~lib/memory/memory.fill end - local.get $4 + local.get $7 ) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -3671,6 +3672,8 @@ ) (func $~lib/memory/memory.copy (; 52 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) block $~lib/util/memory/memmove|inlined.0 local.get $0 local.get $1 @@ -3683,9 +3686,9 @@ i32.add local.get $0 i32.le_u - local.tee $3 + local.tee $5 if (result i32) - local.get $3 + local.get $5 else local.get $0 local.get $2 @@ -3730,19 +3733,19 @@ local.set $2 block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -3787,19 +3790,19 @@ block block (result i32) local.get $0 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $0 - local.get $3 + local.get $5 end block (result i32) local.get $1 - local.tee $3 + local.tee $5 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $5 end i32.load8_u i32.store8 @@ -4038,12 +4041,12 @@ (local $8 i32) (local $9 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 call $~lib/typedarray/Int8Array#get:length local.set $6 local.get $4 @@ -4072,12 +4075,12 @@ select local.set $4 end - local.get $5 + local.get $3 i32.const 0 i32.lt_s if local.get $6 - local.get $5 + local.get $3 i32.add local.tee $7 local.get $4 @@ -4086,9 +4089,9 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 else - local.get $5 + local.get $3 local.tee $7 local.get $6 local.tee $8 @@ -4103,13 +4106,13 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 end block $~lib/runtime/REGISTER|inlined.1 (result i32) block $~lib/runtime/ALLOCATE|inlined.15 (result i32) i32.const 12 - local.set $7 - local.get $7 + local.set $8 + local.get $8 call $~lib/runtime/doAllocate end local.set $7 @@ -4118,10 +4121,10 @@ call $~lib/runtime/doRegister end local.set $7 - local.get $3 + local.get $5 i32.load local.set $8 - local.get $3 + local.get $5 i32.load offset=4 local.set $9 local.get $7 @@ -4135,7 +4138,7 @@ i32.add i32.store offset=4 local.get $7 - local.get $5 + local.get $3 local.get $4 i32.sub i32.const 0 @@ -4153,25 +4156,25 @@ (local $10 i32) (local $11 i32) local.get $0 - local.set $4 - local.get $1 - local.set $5 - local.get $2 - local.set $6 - local.get $3 local.set $7 - local.get $4 + local.get $1 + local.set $6 + local.get $2 + local.set $5 + local.get $3 + local.set $4 + local.get $7 i32.load offset=4 local.set $8 - local.get $4 + local.get $7 call $~lib/typedarray/Int32Array#get:length local.set $9 - local.get $6 + local.get $5 i32.const 0 i32.lt_s if (result i32) local.get $9 - local.get $6 + local.get $5 i32.add local.tee $10 i32.const 0 @@ -4181,7 +4184,7 @@ i32.gt_s select else - local.get $6 + local.get $5 local.tee $10 local.get $9 local.tee $11 @@ -4190,13 +4193,13 @@ i32.lt_s select end - local.set $6 - local.get $7 + local.set $5 + local.get $4 i32.const 0 i32.lt_s if (result i32) local.get $9 - local.get $7 + local.get $4 i32.add local.tee $10 i32.const 0 @@ -4206,7 +4209,7 @@ i32.gt_s select else - local.get $7 + local.get $4 local.tee $10 local.get $9 local.tee $11 @@ -4215,31 +4218,31 @@ i32.lt_s select end - local.set $7 + local.set $4 block $break|0 loop $repeat|0 - local.get $6 - local.get $7 + local.get $5 + local.get $4 i32.lt_s i32.eqz br_if $break|0 local.get $8 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add - local.get $5 - i32.store local.get $6 + i32.store + local.get $5 i32.const 1 i32.add - local.set $6 + local.set $5 br $repeat|0 unreachable end unreachable end - local.get $4 + local.get $7 ) (func $~lib/array/Array#get:length (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 @@ -4329,19 +4332,19 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 block i32.const 0 local.set $7 - local.get $3 + local.get $5 call $~lib/typedarray/Int8Array#get:length local.set $8 end @@ -4354,7 +4357,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 0 @@ -4362,11 +4365,11 @@ i32.add i32.load8_s local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.add @@ -4376,7 +4379,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduce (; 65 ;) (type $FUNCSIG$v) (local $0 i32) @@ -4452,19 +4455,19 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 block i32.const 0 local.set $7 - local.get $3 + local.get $5 call $~lib/typedarray/Uint8Array#get:length local.set $8 end @@ -4477,7 +4480,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 0 @@ -4485,11 +4488,11 @@ i32.add i32.load8_u local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.add @@ -4499,7 +4502,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduce (; 69 ;) (type $FUNCSIG$v) (local $0 i32) @@ -4553,19 +4556,19 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 block i32.const 0 local.set $7 - local.get $3 + local.get $5 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $8 end @@ -4578,7 +4581,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 0 @@ -4586,11 +4589,11 @@ i32.add i32.load8_u local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.add @@ -4600,7 +4603,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduce (; 72 ;) (type $FUNCSIG$v) (local $0 i32) @@ -4678,19 +4681,19 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 block i32.const 0 local.set $7 - local.get $3 + local.get $5 call $~lib/typedarray/Int16Array#get:length local.set $8 end @@ -4703,7 +4706,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 1 @@ -4711,11 +4714,11 @@ i32.add i32.load16_s local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.add @@ -4725,7 +4728,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduce (; 76 ;) (type $FUNCSIG$v) (local $0 i32) @@ -4805,19 +4808,19 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 block i32.const 0 local.set $7 - local.get $3 + local.get $5 call $~lib/typedarray/Uint16Array#get:length local.set $8 end @@ -4830,7 +4833,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 1 @@ -4838,11 +4841,11 @@ i32.add i32.load16_u local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.add @@ -4852,7 +4855,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduce (; 80 ;) (type $FUNCSIG$v) (local $0 i32) @@ -4906,19 +4909,19 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 block i32.const 0 local.set $7 - local.get $3 + local.get $5 call $~lib/typedarray/Int32Array#get:length local.set $8 end @@ -4931,7 +4934,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 2 @@ -4939,11 +4942,11 @@ i32.add i32.load local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.add @@ -4953,7 +4956,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduce (; 83 ;) (type $FUNCSIG$v) (local $0 i32) @@ -5029,19 +5032,19 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 block i32.const 0 local.set $7 - local.get $3 + local.get $5 call $~lib/typedarray/Uint32Array#get:length local.set $8 end @@ -5054,7 +5057,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 2 @@ -5062,11 +5065,11 @@ i32.add i32.load local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.add @@ -5076,7 +5079,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduce (; 87 ;) (type $FUNCSIG$v) (local $0 i32) @@ -5152,19 +5155,19 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $3 - local.get $1 local.set $4 + local.get $1 + local.set $3 local.get $2 local.set $5 - local.get $3 + local.get $4 i32.load offset=4 local.set $6 block $break|0 block i32.const 0 local.set $7 - local.get $3 + local.get $4 call $~lib/typedarray/Int64Array#get:length local.set $8 end @@ -5185,8 +5188,8 @@ i32.add i64.load local.get $7 - local.get $3 local.get $4 + local.get $3 call_indirect (type $FUNCSIG$jjjii) end local.set $5 @@ -5275,19 +5278,19 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $3 - local.get $1 local.set $4 + local.get $1 + local.set $3 local.get $2 local.set $5 - local.get $3 + local.get $4 i32.load offset=4 local.set $6 block $break|0 block i32.const 0 local.set $7 - local.get $3 + local.get $4 call $~lib/typedarray/Uint64Array#get:length local.set $8 end @@ -5308,8 +5311,8 @@ i32.add i64.load local.get $7 - local.get $3 local.get $4 + local.get $3 call_indirect (type $FUNCSIG$jjjii) end local.set $5 @@ -5398,19 +5401,19 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $3 - local.get $1 local.set $4 + local.get $1 + local.set $3 local.get $2 local.set $5 - local.get $3 + local.get $4 i32.load offset=4 local.set $6 block $break|0 block i32.const 0 local.set $7 - local.get $3 + local.get $4 call $~lib/typedarray/Float32Array#get:length local.set $8 end @@ -5431,8 +5434,8 @@ i32.add f32.load local.get $7 - local.get $3 local.get $4 + local.get $3 call_indirect (type $FUNCSIG$fffii) end local.set $5 @@ -5497,19 +5500,19 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $3 - local.get $1 local.set $4 + local.get $1 + local.set $3 local.get $2 local.set $5 - local.get $3 + local.get $4 i32.load offset=4 local.set $6 block $break|0 block i32.const 0 local.set $7 - local.get $3 + local.get $4 call $~lib/typedarray/Float64Array#get:length local.set $8 end @@ -5530,8 +5533,8 @@ i32.add f64.load local.get $7 - local.get $3 local.get $4 + local.get $3 call_indirect (type $FUNCSIG$dddii) end local.set $5 @@ -5595,16 +5598,16 @@ (local $6 i32) (local $7 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 - local.get $3 + local.get $5 call $~lib/typedarray/Int8Array#get:length i32.const 1 i32.sub @@ -5618,7 +5621,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 0 @@ -5626,11 +5629,11 @@ i32.add i32.load8_s local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.sub @@ -5640,7 +5643,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduceRight (; 105 ;) (type $FUNCSIG$v) (local $0 i32) @@ -5695,16 +5698,16 @@ (local $6 i32) (local $7 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 - local.get $3 + local.get $5 call $~lib/typedarray/Uint8Array#get:length i32.const 1 i32.sub @@ -5718,7 +5721,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 0 @@ -5726,11 +5729,11 @@ i32.add i32.load8_u local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.sub @@ -5740,7 +5743,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduceRight (; 108 ;) (type $FUNCSIG$v) (local $0 i32) @@ -5793,16 +5796,16 @@ (local $6 i32) (local $7 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 - local.get $3 + local.get $5 call $~lib/typedarray/Uint8ClampedArray#get:length i32.const 1 i32.sub @@ -5816,7 +5819,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 0 @@ -5824,11 +5827,11 @@ i32.add i32.load8_u local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.sub @@ -5838,7 +5841,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduceRight (; 111 ;) (type $FUNCSIG$v) (local $0 i32) @@ -5891,16 +5894,16 @@ (local $6 i32) (local $7 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 - local.get $3 + local.get $5 call $~lib/typedarray/Int16Array#get:length i32.const 1 i32.sub @@ -5914,7 +5917,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 1 @@ -5922,11 +5925,11 @@ i32.add i32.load16_s local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.sub @@ -5936,7 +5939,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduceRight (; 114 ;) (type $FUNCSIG$v) (local $0 i32) @@ -5991,16 +5994,16 @@ (local $6 i32) (local $7 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 - local.get $3 + local.get $5 call $~lib/typedarray/Uint16Array#get:length i32.const 1 i32.sub @@ -6014,7 +6017,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 1 @@ -6022,11 +6025,11 @@ i32.add i32.load16_u local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.sub @@ -6036,7 +6039,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduceRight (; 117 ;) (type $FUNCSIG$v) (local $0 i32) @@ -6089,16 +6092,16 @@ (local $6 i32) (local $7 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 - local.get $3 + local.get $5 call $~lib/typedarray/Int32Array#get:length i32.const 1 i32.sub @@ -6112,7 +6115,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 2 @@ -6120,11 +6123,11 @@ i32.add i32.load local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.sub @@ -6134,7 +6137,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduceRight (; 120 ;) (type $FUNCSIG$v) (local $0 i32) @@ -6185,16 +6188,16 @@ (local $6 i32) (local $7 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 i32.load offset=4 local.set $6 block $break|0 - local.get $3 + local.get $5 call $~lib/typedarray/Uint32Array#get:length i32.const 1 i32.sub @@ -6208,7 +6211,7 @@ block (result i32) i32.const 4 global.set $~lib/argc - local.get $5 + local.get $3 local.get $6 local.get $7 i32.const 2 @@ -6216,11 +6219,11 @@ i32.add i32.load local.get $7 - local.get $3 + local.get $5 local.get $4 call_indirect (type $FUNCSIG$iiiii) end - local.set $5 + local.set $3 local.get $7 i32.const 1 i32.sub @@ -6230,7 +6233,7 @@ end unreachable end - local.get $5 + local.get $3 ) (func $std/typedarray/testReduceRight (; 123 ;) (type $FUNCSIG$v) (local $0 i32) @@ -6281,16 +6284,16 @@ (local $6 i32) (local $7 i32) local.get $0 - local.set $3 - local.get $1 local.set $4 + local.get $1 + local.set $3 local.get $2 local.set $5 - local.get $3 + local.get $4 i32.load offset=4 local.set $6 block $break|0 - local.get $3 + local.get $4 call $~lib/typedarray/Int64Array#get:length i32.const 1 i32.sub @@ -6312,8 +6315,8 @@ i32.add i64.load local.get $7 - local.get $3 local.get $4 + local.get $3 call_indirect (type $FUNCSIG$jjjii) end local.set $5 @@ -6377,16 +6380,16 @@ (local $6 i32) (local $7 i32) local.get $0 - local.set $3 - local.get $1 local.set $4 + local.get $1 + local.set $3 local.get $2 local.set $5 - local.get $3 + local.get $4 i32.load offset=4 local.set $6 block $break|0 - local.get $3 + local.get $4 call $~lib/typedarray/Uint64Array#get:length i32.const 1 i32.sub @@ -6408,8 +6411,8 @@ i32.add i64.load local.get $7 - local.get $3 local.get $4 + local.get $3 call_indirect (type $FUNCSIG$jjjii) end local.set $5 @@ -6473,16 +6476,16 @@ (local $6 i32) (local $7 i32) local.get $0 - local.set $3 - local.get $1 local.set $4 + local.get $1 + local.set $3 local.get $2 local.set $5 - local.get $3 + local.get $4 i32.load offset=4 local.set $6 block $break|0 - local.get $3 + local.get $4 call $~lib/typedarray/Float32Array#get:length i32.const 1 i32.sub @@ -6504,8 +6507,8 @@ i32.add f32.load local.get $7 - local.get $3 local.get $4 + local.get $3 call_indirect (type $FUNCSIG$fffii) end local.set $5 @@ -6569,16 +6572,16 @@ (local $6 i32) (local $7 i32) local.get $0 - local.set $3 - local.get $1 local.set $4 + local.get $1 + local.set $3 local.get $2 local.set $5 - local.get $3 + local.get $4 i32.load offset=4 local.set $6 block $break|0 - local.get $3 + local.get $4 call $~lib/typedarray/Float64Array#get:length i32.const 1 i32.sub @@ -6600,8 +6603,8 @@ i32.add f64.load local.get $7 - local.get $3 local.get $4 + local.get $3 call_indirect (type $FUNCSIG$dddii) end local.set $5 @@ -6667,13 +6670,13 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 call $~lib/typedarray/Int8Array#get:length local.set $4 - local.get $2 + local.get $3 i32.load offset=4 local.set $5 i32.const 0 @@ -6707,8 +6710,8 @@ i32.add i32.load8_s local.get $8 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.store8 @@ -6803,13 +6806,13 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 call $~lib/typedarray/Uint8Array#get:length local.set $4 - local.get $2 + local.get $3 i32.load offset=4 local.set $5 i32.const 0 @@ -6843,8 +6846,8 @@ i32.add i32.load8_u local.get $8 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.store8 @@ -6958,13 +6961,13 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $4 - local.get $2 + local.get $3 i32.load offset=4 local.set $5 i32.const 0 @@ -6998,8 +7001,8 @@ i32.add i32.load8_u local.get $8 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.store8 @@ -7094,13 +7097,13 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 call $~lib/typedarray/Int16Array#get:length local.set $4 - local.get $2 + local.get $3 i32.load offset=4 local.set $5 i32.const 0 @@ -7134,8 +7137,8 @@ i32.add i32.load16_s local.get $8 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.store16 @@ -7253,13 +7256,13 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 call $~lib/typedarray/Uint16Array#get:length local.set $4 - local.get $2 + local.get $3 i32.load offset=4 local.set $5 i32.const 0 @@ -7293,8 +7296,8 @@ i32.add i32.load16_u local.get $8 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.store16 @@ -7412,13 +7415,13 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 call $~lib/typedarray/Int32Array#get:length local.set $4 - local.get $2 + local.get $3 i32.load offset=4 local.set $5 i32.const 0 @@ -7452,8 +7455,8 @@ i32.add i32.load local.get $8 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.store @@ -7548,13 +7551,13 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 call $~lib/typedarray/Uint32Array#get:length local.set $4 - local.get $2 + local.get $3 i32.load offset=4 local.set $5 i32.const 0 @@ -7588,8 +7591,8 @@ i32.add i32.load local.get $8 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.store @@ -7707,13 +7710,13 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 call $~lib/typedarray/Int64Array#get:length local.set $4 - local.get $2 + local.get $3 i32.load offset=4 local.set $5 i32.const 0 @@ -7747,8 +7750,8 @@ i32.add i64.load local.get $8 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$jjii) end i64.store @@ -7866,13 +7869,13 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 call $~lib/typedarray/Uint64Array#get:length local.set $4 - local.get $2 + local.get $3 i32.load offset=4 local.set $5 i32.const 0 @@ -7906,8 +7909,8 @@ i32.add i64.load local.get $8 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$jjii) end i64.store @@ -8025,13 +8028,13 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 call $~lib/typedarray/Float32Array#get:length local.set $4 - local.get $2 + local.get $3 i32.load offset=4 local.set $5 i32.const 0 @@ -8065,8 +8068,8 @@ i32.add f32.load local.get $8 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$ffii) end f32.store @@ -8184,13 +8187,13 @@ (local $7 i32) (local $8 i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 call $~lib/typedarray/Float64Array#get:length local.set $4 - local.get $2 + local.get $3 i32.load offset=4 local.set $5 i32.const 0 @@ -8224,8 +8227,8 @@ i32.add f64.load local.get $8 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$ddii) end f64.store @@ -8323,17 +8326,17 @@ (local $6 i32) block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Int8Array#get:length local.set $6 end @@ -8353,8 +8356,8 @@ i32.add i32.load8_s local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -8453,17 +8456,17 @@ (local $6 i32) block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint8Array#get:length local.set $6 end @@ -8483,8 +8486,8 @@ i32.add i32.load8_u local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -8581,17 +8584,17 @@ (local $6 i32) block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $6 end @@ -8611,8 +8614,8 @@ i32.add i32.load8_u local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -8711,17 +8714,17 @@ (local $6 i32) block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Int16Array#get:length local.set $6 end @@ -8741,8 +8744,8 @@ i32.add i32.load16_s local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -8841,17 +8844,17 @@ (local $6 i32) block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint16Array#get:length local.set $6 end @@ -8871,8 +8874,8 @@ i32.add i32.load16_u local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -8967,17 +8970,17 @@ (local $6 i32) block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Int32Array#get:length local.set $6 end @@ -8997,8 +9000,8 @@ i32.add i32.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -9091,17 +9094,17 @@ (local $6 i32) block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint32Array#get:length local.set $6 end @@ -9121,8 +9124,8 @@ i32.add i32.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -9215,17 +9218,17 @@ (local $6 i32) block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Int64Array#get:length local.set $6 end @@ -9245,8 +9248,8 @@ i32.add i64.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$ijii) end i32.const 0 @@ -9339,17 +9342,17 @@ (local $6 i32) block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint64Array#get:length local.set $6 end @@ -9369,8 +9372,8 @@ i32.add i64.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$ijii) end i32.const 0 @@ -9463,17 +9466,17 @@ (local $6 i32) block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Float32Array#get:length local.set $6 end @@ -9493,8 +9496,8 @@ i32.add f32.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$ifii) end i32.const 0 @@ -9587,17 +9590,17 @@ (local $6 i32) block $~lib/typedarray/SOME|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Float64Array#get:length local.set $6 end @@ -9617,8 +9620,8 @@ i32.add f64.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$idii) end i32.const 0 @@ -9715,17 +9718,17 @@ (local $6 i32) block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Int8Array#get:length local.set $6 end @@ -9745,8 +9748,8 @@ i32.add i32.load8_s local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -9844,17 +9847,17 @@ (local $6 i32) block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint8Array#get:length local.set $6 end @@ -9874,8 +9877,8 @@ i32.add i32.load8_u local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -9971,17 +9974,17 @@ (local $6 i32) block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $6 end @@ -10001,8 +10004,8 @@ i32.add i32.load8_u local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -10100,17 +10103,17 @@ (local $6 i32) block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Int16Array#get:length local.set $6 end @@ -10130,8 +10133,8 @@ i32.add i32.load16_s local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -10229,17 +10232,17 @@ (local $6 i32) block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint16Array#get:length local.set $6 end @@ -10259,8 +10262,8 @@ i32.add i32.load16_u local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -10354,17 +10357,17 @@ (local $6 i32) block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Int32Array#get:length local.set $6 end @@ -10384,8 +10387,8 @@ i32.add i32.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -10477,17 +10480,17 @@ (local $6 i32) block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint32Array#get:length local.set $6 end @@ -10507,8 +10510,8 @@ i32.add i32.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -10600,17 +10603,17 @@ (local $6 i32) block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Int64Array#get:length local.set $6 end @@ -10630,8 +10633,8 @@ i32.add i64.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$ijii) end i32.const 0 @@ -10723,17 +10726,17 @@ (local $6 i32) block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint64Array#get:length local.set $6 end @@ -10753,8 +10756,8 @@ i32.add i64.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$ijii) end i32.const 0 @@ -10846,17 +10849,17 @@ (local $6 i32) block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Float32Array#get:length local.set $6 end @@ -10876,8 +10879,8 @@ i32.add f32.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$ifii) end i32.const 0 @@ -10969,17 +10972,17 @@ (local $6 i32) block $~lib/typedarray/FIND_INDEX|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Float64Array#get:length local.set $6 end @@ -10999,8 +11002,8 @@ i32.add f64.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$idii) end i32.const 0 @@ -11098,17 +11101,17 @@ (local $6 i32) block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Int8Array#get:length local.set $6 end @@ -11130,8 +11133,8 @@ i32.add i32.load8_s local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -11237,17 +11240,17 @@ (local $6 i32) block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint8Array#get:length local.set $6 end @@ -11269,8 +11272,8 @@ i32.add i32.load8_u local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -11374,17 +11377,17 @@ (local $6 i32) block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $6 end @@ -11406,8 +11409,8 @@ i32.add i32.load8_u local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -11513,17 +11516,17 @@ (local $6 i32) block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Int16Array#get:length local.set $6 end @@ -11545,8 +11548,8 @@ i32.add i32.load16_s local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -11652,17 +11655,17 @@ (local $6 i32) block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint16Array#get:length local.set $6 end @@ -11684,8 +11687,8 @@ i32.add i32.load16_u local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -11787,17 +11790,17 @@ (local $6 i32) block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Int32Array#get:length local.set $6 end @@ -11819,8 +11822,8 @@ i32.add i32.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -11920,17 +11923,17 @@ (local $6 i32) block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint32Array#get:length local.set $6 end @@ -11952,8 +11955,8 @@ i32.add i32.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$iiii) end i32.const 0 @@ -12053,17 +12056,17 @@ (local $6 i32) block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Int64Array#get:length local.set $6 end @@ -12085,8 +12088,8 @@ i32.add i64.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$ijii) end i32.const 0 @@ -12186,17 +12189,17 @@ (local $6 i32) block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Uint64Array#get:length local.set $6 end @@ -12218,8 +12221,8 @@ i32.add i64.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$ijii) end i32.const 0 @@ -12575,17 +12578,17 @@ (local $6 i32) block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Float32Array#get:length local.set $6 end @@ -12607,8 +12610,8 @@ i32.add f32.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$ifii) end i32.const 0 @@ -12966,17 +12969,17 @@ (local $6 i32) block $~lib/typedarray/EVERY|inlined.0 (result i32) local.get $0 - local.set $2 - local.get $1 local.set $3 - local.get $2 + local.get $1 + local.set $2 + local.get $3 i32.load offset=4 local.set $4 block $break|0 block i32.const 0 local.set $5 - local.get $2 + local.get $3 call $~lib/typedarray/Float64Array#get:length local.set $6 end @@ -12998,8 +13001,8 @@ i32.add f64.load local.get $5 - local.get $2 local.get $3 + local.get $2 call_indirect (type $FUNCSIG$idii) end i32.const 0 @@ -13145,17 +13148,17 @@ (local $4 i32) local.get $0 i32.load offset=4 - local.set $2 + local.set $3 block $break|0 block i32.const 0 - local.set $3 + local.set $2 local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $4 end loop $repeat|0 - local.get $3 + local.get $2 local.get $4 i32.lt_s i32.eqz @@ -13163,21 +13166,21 @@ block i32.const 3 global.set $~lib/argc - local.get $2 local.get $3 + local.get $2 i32.const 0 i32.shl i32.add i32.load8_s - local.get $3 + local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$viii) end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $repeat|0 unreachable end @@ -13297,17 +13300,17 @@ (local $4 i32) local.get $0 i32.load offset=4 - local.set $2 + local.set $3 block $break|0 block i32.const 0 - local.set $3 + local.set $2 local.get $0 call $~lib/typedarray/Uint8Array#get:length local.set $4 end loop $repeat|0 - local.get $3 + local.get $2 local.get $4 i32.lt_s i32.eqz @@ -13315,21 +13318,21 @@ block i32.const 3 global.set $~lib/argc - local.get $2 local.get $3 + local.get $2 i32.const 0 i32.shl i32.add i32.load8_u - local.get $3 + local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$viii) end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $repeat|0 unreachable end @@ -13443,17 +13446,17 @@ (local $4 i32) local.get $0 i32.load offset=4 - local.set $2 + local.set $3 block $break|0 block i32.const 0 - local.set $3 + local.set $2 local.get $0 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $4 end loop $repeat|0 - local.get $3 + local.get $2 local.get $4 i32.lt_s i32.eqz @@ -13461,21 +13464,21 @@ block i32.const 3 global.set $~lib/argc - local.get $2 local.get $3 + local.get $2 i32.const 0 i32.shl i32.add i32.load8_u - local.get $3 + local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$viii) end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $repeat|0 unreachable end @@ -13593,17 +13596,17 @@ (local $4 i32) local.get $0 i32.load offset=4 - local.set $2 + local.set $3 block $break|0 block i32.const 0 - local.set $3 + local.set $2 local.get $0 call $~lib/typedarray/Int16Array#get:length local.set $4 end loop $repeat|0 - local.get $3 + local.get $2 local.get $4 i32.lt_s i32.eqz @@ -13611,21 +13614,21 @@ block i32.const 3 global.set $~lib/argc - local.get $2 local.get $3 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_s - local.get $3 + local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$viii) end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $repeat|0 unreachable end @@ -13745,17 +13748,17 @@ (local $4 i32) local.get $0 i32.load offset=4 - local.set $2 + local.set $3 block $break|0 block i32.const 0 - local.set $3 + local.set $2 local.get $0 call $~lib/typedarray/Uint16Array#get:length local.set $4 end loop $repeat|0 - local.get $3 + local.get $2 local.get $4 i32.lt_s i32.eqz @@ -13763,21 +13766,21 @@ block i32.const 3 global.set $~lib/argc - local.get $2 local.get $3 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_u - local.get $3 + local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$viii) end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $repeat|0 unreachable end @@ -13887,17 +13890,17 @@ (local $4 i32) local.get $0 i32.load offset=4 - local.set $2 + local.set $3 block $break|0 block i32.const 0 - local.set $3 + local.set $2 local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $4 end loop $repeat|0 - local.get $3 + local.get $2 local.get $4 i32.lt_s i32.eqz @@ -13905,21 +13908,21 @@ block i32.const 3 global.set $~lib/argc - local.get $2 local.get $3 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.get $3 + local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$viii) end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $repeat|0 unreachable end @@ -14023,17 +14026,17 @@ (local $4 i32) local.get $0 i32.load offset=4 - local.set $2 + local.set $3 block $break|0 block i32.const 0 - local.set $3 + local.set $2 local.get $0 call $~lib/typedarray/Uint32Array#get:length local.set $4 end loop $repeat|0 - local.get $3 + local.get $2 local.get $4 i32.lt_s i32.eqz @@ -14041,21 +14044,21 @@ block i32.const 3 global.set $~lib/argc - local.get $2 local.get $3 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.get $3 + local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$viii) end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $repeat|0 unreachable end @@ -14160,17 +14163,17 @@ (local $4 i32) local.get $0 i32.load offset=4 - local.set $2 + local.set $3 block $break|0 block i32.const 0 - local.set $3 + local.set $2 local.get $0 call $~lib/typedarray/Int64Array#get:length local.set $4 end loop $repeat|0 - local.get $3 + local.get $2 local.get $4 i32.lt_s i32.eqz @@ -14178,21 +14181,21 @@ block i32.const 3 global.set $~lib/argc - local.get $2 local.get $3 + local.get $2 i32.const 3 i32.shl i32.add i64.load - local.get $3 + local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$vjii) end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $repeat|0 unreachable end @@ -14300,17 +14303,17 @@ (local $4 i32) local.get $0 i32.load offset=4 - local.set $2 + local.set $3 block $break|0 block i32.const 0 - local.set $3 + local.set $2 local.get $0 call $~lib/typedarray/Uint64Array#get:length local.set $4 end loop $repeat|0 - local.get $3 + local.get $2 local.get $4 i32.lt_s i32.eqz @@ -14318,21 +14321,21 @@ block i32.const 3 global.set $~lib/argc - local.get $2 local.get $3 + local.get $2 i32.const 3 i32.shl i32.add i64.load - local.get $3 + local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$vjii) end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $repeat|0 unreachable end @@ -14440,17 +14443,17 @@ (local $4 i32) local.get $0 i32.load offset=4 - local.set $2 + local.set $3 block $break|0 block i32.const 0 - local.set $3 + local.set $2 local.get $0 call $~lib/typedarray/Float32Array#get:length local.set $4 end loop $repeat|0 - local.get $3 + local.get $2 local.get $4 i32.lt_s i32.eqz @@ -14458,21 +14461,21 @@ block i32.const 3 global.set $~lib/argc - local.get $2 local.get $3 + local.get $2 i32.const 2 i32.shl i32.add f32.load - local.get $3 + local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$vfii) end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $repeat|0 unreachable end @@ -14580,17 +14583,17 @@ (local $4 i32) local.get $0 i32.load offset=4 - local.set $2 + local.set $3 block $break|0 block i32.const 0 - local.set $3 + local.set $2 local.get $0 call $~lib/typedarray/Float64Array#get:length local.set $4 end loop $repeat|0 - local.get $3 + local.get $2 local.get $4 i32.lt_s i32.eqz @@ -14598,21 +14601,21 @@ block i32.const 3 global.set $~lib/argc - local.get $2 local.get $3 + local.get $2 i32.const 3 i32.shl i32.add f64.load - local.get $3 + local.get $2 local.get $0 local.get $1 call_indirect (type $FUNCSIG$vdii) end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $repeat|0 unreachable end @@ -14979,12 +14982,12 @@ (local $8 i32) (local $9 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 call $~lib/typedarray/Uint8Array#get:length local.set $6 local.get $4 @@ -15013,12 +15016,12 @@ select local.set $4 end - local.get $5 + local.get $3 i32.const 0 i32.lt_s if local.get $6 - local.get $5 + local.get $3 i32.add local.tee $7 local.get $4 @@ -15027,9 +15030,9 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 else - local.get $5 + local.get $3 local.tee $7 local.get $6 local.tee $8 @@ -15044,13 +15047,13 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 end block $~lib/runtime/REGISTER|inlined.1 (result i32) block $~lib/runtime/ALLOCATE|inlined.16 (result i32) i32.const 12 - local.set $7 - local.get $7 + local.set $8 + local.get $8 call $~lib/runtime/doAllocate end local.set $7 @@ -15059,10 +15062,10 @@ call $~lib/runtime/doRegister end local.set $7 - local.get $3 + local.get $5 i32.load local.set $8 - local.get $3 + local.get $5 i32.load offset=4 local.set $9 local.get $7 @@ -15076,7 +15079,7 @@ i32.add i32.store offset=4 local.get $7 - local.get $5 + local.get $3 local.get $4 i32.sub i32.const 0 @@ -15321,12 +15324,12 @@ (local $8 i32) (local $9 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $6 local.get $4 @@ -15355,12 +15358,12 @@ select local.set $4 end - local.get $5 + local.get $3 i32.const 0 i32.lt_s if local.get $6 - local.get $5 + local.get $3 i32.add local.tee $7 local.get $4 @@ -15369,9 +15372,9 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 else - local.get $5 + local.get $3 local.tee $7 local.get $6 local.tee $8 @@ -15386,13 +15389,13 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 end block $~lib/runtime/REGISTER|inlined.1 (result i32) block $~lib/runtime/ALLOCATE|inlined.17 (result i32) i32.const 12 - local.set $7 - local.get $7 + local.set $8 + local.get $8 call $~lib/runtime/doAllocate end local.set $7 @@ -15401,10 +15404,10 @@ call $~lib/runtime/doRegister end local.set $7 - local.get $3 + local.get $5 i32.load local.set $8 - local.get $3 + local.get $5 i32.load offset=4 local.set $9 local.get $7 @@ -15418,7 +15421,7 @@ i32.add i32.store offset=4 local.get $7 - local.get $5 + local.get $3 local.get $4 i32.sub i32.const 0 @@ -15663,12 +15666,12 @@ (local $8 i32) (local $9 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 call $~lib/typedarray/Int16Array#get:length local.set $6 local.get $4 @@ -15697,12 +15700,12 @@ select local.set $4 end - local.get $5 + local.get $3 i32.const 0 i32.lt_s if local.get $6 - local.get $5 + local.get $3 i32.add local.tee $7 local.get $4 @@ -15711,9 +15714,9 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 else - local.get $5 + local.get $3 local.tee $7 local.get $6 local.tee $8 @@ -15728,13 +15731,13 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 end block $~lib/runtime/REGISTER|inlined.1 (result i32) block $~lib/runtime/ALLOCATE|inlined.18 (result i32) i32.const 12 - local.set $7 - local.get $7 + local.set $8 + local.get $8 call $~lib/runtime/doAllocate end local.set $7 @@ -15743,10 +15746,10 @@ call $~lib/runtime/doRegister end local.set $7 - local.get $3 + local.get $5 i32.load local.set $8 - local.get $3 + local.get $5 i32.load offset=4 local.set $9 local.get $7 @@ -15760,7 +15763,7 @@ i32.add i32.store offset=4 local.get $7 - local.get $5 + local.get $3 local.get $4 i32.sub i32.const 1 @@ -16011,12 +16014,12 @@ (local $8 i32) (local $9 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 call $~lib/typedarray/Uint16Array#get:length local.set $6 local.get $4 @@ -16045,12 +16048,12 @@ select local.set $4 end - local.get $5 + local.get $3 i32.const 0 i32.lt_s if local.get $6 - local.get $5 + local.get $3 i32.add local.tee $7 local.get $4 @@ -16059,9 +16062,9 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 else - local.get $5 + local.get $3 local.tee $7 local.get $6 local.tee $8 @@ -16076,13 +16079,13 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 end block $~lib/runtime/REGISTER|inlined.1 (result i32) block $~lib/runtime/ALLOCATE|inlined.19 (result i32) i32.const 12 - local.set $7 - local.get $7 + local.set $8 + local.get $8 call $~lib/runtime/doAllocate end local.set $7 @@ -16091,10 +16094,10 @@ call $~lib/runtime/doRegister end local.set $7 - local.get $3 + local.get $5 i32.load local.set $8 - local.get $3 + local.get $5 i32.load offset=4 local.set $9 local.get $7 @@ -16108,7 +16111,7 @@ i32.add i32.store offset=4 local.get $7 - local.get $5 + local.get $3 local.get $4 i32.sub i32.const 1 @@ -16575,12 +16578,12 @@ (local $8 i32) (local $9 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 call $~lib/typedarray/Uint32Array#get:length local.set $6 local.get $4 @@ -16609,12 +16612,12 @@ select local.set $4 end - local.get $5 + local.get $3 i32.const 0 i32.lt_s if local.get $6 - local.get $5 + local.get $3 i32.add local.tee $7 local.get $4 @@ -16623,9 +16626,9 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 else - local.get $5 + local.get $3 local.tee $7 local.get $6 local.tee $8 @@ -16640,13 +16643,13 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 end block $~lib/runtime/REGISTER|inlined.1 (result i32) block $~lib/runtime/ALLOCATE|inlined.20 (result i32) i32.const 12 - local.set $7 - local.get $7 + local.set $8 + local.get $8 call $~lib/runtime/doAllocate end local.set $7 @@ -16655,10 +16658,10 @@ call $~lib/runtime/doRegister end local.set $7 - local.get $3 + local.get $5 i32.load local.set $8 - local.get $3 + local.get $5 i32.load offset=4 local.set $9 local.get $7 @@ -16672,7 +16675,7 @@ i32.add i32.store offset=4 local.get $7 - local.get $5 + local.get $3 local.get $4 i32.sub i32.const 2 @@ -16911,12 +16914,12 @@ (local $8 i32) (local $9 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 call $~lib/typedarray/Int64Array#get:length local.set $6 local.get $4 @@ -16945,12 +16948,12 @@ select local.set $4 end - local.get $5 + local.get $3 i32.const 0 i32.lt_s if local.get $6 - local.get $5 + local.get $3 i32.add local.tee $7 local.get $4 @@ -16959,9 +16962,9 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 else - local.get $5 + local.get $3 local.tee $7 local.get $6 local.tee $8 @@ -16976,13 +16979,13 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 end block $~lib/runtime/REGISTER|inlined.1 (result i32) block $~lib/runtime/ALLOCATE|inlined.21 (result i32) i32.const 12 - local.set $7 - local.get $7 + local.set $8 + local.get $8 call $~lib/runtime/doAllocate end local.set $7 @@ -16991,10 +16994,10 @@ call $~lib/runtime/doRegister end local.set $7 - local.get $3 + local.get $5 i32.load local.set $8 - local.get $3 + local.get $5 i32.load offset=4 local.set $9 local.get $7 @@ -17008,7 +17011,7 @@ i32.add i32.store offset=4 local.get $7 - local.get $5 + local.get $3 local.get $4 i32.sub i32.const 3 @@ -17250,12 +17253,12 @@ (local $8 i32) (local $9 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 call $~lib/typedarray/Uint64Array#get:length local.set $6 local.get $4 @@ -17284,12 +17287,12 @@ select local.set $4 end - local.get $5 + local.get $3 i32.const 0 i32.lt_s if local.get $6 - local.get $5 + local.get $3 i32.add local.tee $7 local.get $4 @@ -17298,9 +17301,9 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 else - local.get $5 + local.get $3 local.tee $7 local.get $6 local.tee $8 @@ -17315,13 +17318,13 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 end block $~lib/runtime/REGISTER|inlined.1 (result i32) block $~lib/runtime/ALLOCATE|inlined.22 (result i32) i32.const 12 - local.set $7 - local.get $7 + local.set $8 + local.get $8 call $~lib/runtime/doAllocate end local.set $7 @@ -17330,10 +17333,10 @@ call $~lib/runtime/doRegister end local.set $7 - local.get $3 + local.get $5 i32.load local.set $8 - local.get $3 + local.get $5 i32.load offset=4 local.set $9 local.get $7 @@ -17347,7 +17350,7 @@ i32.add i32.store offset=4 local.get $7 - local.get $5 + local.get $3 local.get $4 i32.sub i32.const 3 @@ -17589,12 +17592,12 @@ (local $8 i32) (local $9 i32) local.get $0 - local.set $3 + local.set $5 local.get $1 local.set $4 local.get $2 - local.set $5 - local.get $3 + local.set $3 + local.get $5 call $~lib/typedarray/Float32Array#get:length local.set $6 local.get $4 @@ -17623,12 +17626,12 @@ select local.set $4 end - local.get $5 + local.get $3 i32.const 0 i32.lt_s if local.get $6 - local.get $5 + local.get $3 i32.add local.tee $7 local.get $4 @@ -17637,9 +17640,9 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 else - local.get $5 + local.get $3 local.tee $7 local.get $6 local.tee $8 @@ -17654,13 +17657,13 @@ local.get $8 i32.gt_s select - local.set $5 + local.set $3 end block $~lib/runtime/REGISTER|inlined.1 (result i32) block $~lib/runtime/ALLOCATE|inlined.23 (result i32) i32.const 12 - local.set $7 - local.get $7 + local.set $8 + local.get $8 call $~lib/runtime/doAllocate end local.set $7 @@ -17669,10 +17672,10 @@ call $~lib/runtime/doRegister end local.set $7 - local.get $3 + local.get $5 i32.load local.set $8 - local.get $3 + local.get $5 i32.load offset=4 local.set $9 local.get $7 @@ -17686,7 +17689,7 @@ i32.add i32.store offset=4 local.get $7 - local.get $5 + local.get $3 local.get $4 i32.sub i32.const 2