From 15422cab571d9e8e78770e1667374392a9bc5a20 Mon Sep 17 00:00:00 2001 From: JinRui Date: Wed, 17 Sep 2025 14:43:52 +0800 Subject: [PATCH 1/7] test --- NOTICE | 1 + src/compiler.ts | 117 +- tests/compiler/assignment-chain.debug.wat | 59 +- tests/compiler/assignment-chain.release.wat | 34 +- tests/compiler/bindings/esm.debug.wat | 365 +- tests/compiler/bindings/esm.release.wat | 1090 ++-- .../bindings/noExportRuntime.debug.wat | 32 +- .../bindings/noExportRuntime.release.wat | 143 +- tests/compiler/bindings/raw.debug.wat | 365 +- tests/compiler/bindings/raw.release.wat | 1090 ++-- tests/compiler/call-rest.debug.wat | 8 - tests/compiler/call-rest.release.wat | 17 +- tests/compiler/class.debug.wat | 42 +- tests/compiler/class.release.wat | 38 +- tests/compiler/constructor.debug.wat | 90 +- tests/compiler/constructor.release.wat | 30 +- tests/compiler/duplicate-fields.debug.wat | 92 - tests/compiler/duplicate-fields.release.wat | 58 +- .../compiler/extends-baseaggregate.debug.wat | 164 +- .../extends-baseaggregate.release.wat | 152 +- tests/compiler/extends-recursive.debug.wat | 89 +- tests/compiler/extends-recursive.release.wat | 56 +- tests/compiler/field-initialization.debug.wat | 264 +- .../compiler/field-initialization.release.wat | 120 +- tests/compiler/infer-generic.debug.wat | 8 - tests/compiler/infer-generic.release.wat | 10 +- tests/compiler/inlining.debug.wat | 16 - tests/compiler/inlining.release.wat | 415 +- tests/compiler/issues/1225.debug.wat | 16 - tests/compiler/issues/1225.release.wat | 16 +- tests/compiler/issues/1699.debug.wat | 42 +- tests/compiler/issues/1699.release.wat | 55 +- tests/compiler/issues/2322/index.debug.wat | 13 - tests/compiler/issues/2322/index.release.wat | 10 +- tests/compiler/object-literal.debug.wat | 367 +- tests/compiler/object-literal.release.wat | 306 +- tests/compiler/resolve-access.debug.wat | 8 - tests/compiler/resolve-access.release.wat | 10 +- .../compiler/resolve-elementaccess.debug.wat | 32 +- .../resolve-elementaccess.release.wat | 155 +- tests/compiler/return-unreachable.debug.wat | 42 +- tests/compiler/return-unreachable.release.wat | 147 +- tests/compiler/rt/issue-2719.debug.wat | 18 +- tests/compiler/rt/issue-2719.release.wat | 10 +- tests/compiler/std/array.debug.wat | 216 +- tests/compiler/std/array.release.wat | 4386 ++++++++-------- tests/compiler/std/arraybuffer.debug.wat | 56 +- tests/compiler/std/arraybuffer.release.wat | 54 +- tests/compiler/std/dataview.debug.wat | 56 +- tests/compiler/std/dataview.release.wat | 771 ++- tests/compiler/std/date.debug.wat | 24 - tests/compiler/std/date.release.wat | 54 +- tests/compiler/std/map.debug.wat | 1154 +--- tests/compiler/std/map.release.wat | 4626 ++++++++--------- tests/compiler/std/set.debug.wat | 828 +-- tests/compiler/std/set.release.wat | 3416 ++++++------ tests/compiler/std/symbol.debug.wat | 72 +- tests/compiler/std/symbol.release.wat | 36 +- tests/compiler/std/typedarray.debug.wat | 32 +- tests/compiler/std/typedarray.release.wat | 93 +- tests/compiler/switch.debug.wat | 16 - tests/compiler/switch.release.wat | 20 +- 62 files changed, 8557 insertions(+), 13565 deletions(-) diff --git a/NOTICE b/NOTICE index e7a2601827..673c7b5c51 100644 --- a/NOTICE +++ b/NOTICE @@ -60,6 +60,7 @@ under the licensing terms detailed in LICENSE: * Fabián Heredia Montiel * Jonas Minnberg * Kam Chehresa +* Rui Jin Portions of this software are derived from third-party works licensed under the following terms: diff --git a/src/compiler.ts b/src/compiler.ts index 7e87baf7fd..eefe939762 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -10026,6 +10026,95 @@ export class Compiler extends DiagnosticEmitter { // === Specialized code generation ============================================================== /** Makes a constant zero of the specified type. */ + /** Checks if an expression evaluates to a zero value for the given type. */ + shouldSkipZeroInit(expr: ExpressionRef, type: Type): bool { + let module = this.module; + // Try to evaluate the expression at compile time + let evaled = module.runExpression(expr, ExpressionRunnerFlags.Default); + if (!evaled) return false; // Can't evaluate at compile time + + const evaledType = getExpressionType(evaled); + switch (type.kind) { + case TypeKind.Bool: + case TypeKind.I8: + case TypeKind.I16: + case TypeKind.I32: + case TypeKind.U8: + case TypeKind.U16: + case TypeKind.U32: + // All small integer types are represented as i32 in WebAssembly + // But we still check for safety and consistency + if (evaledType == TypeRef.I32) { + return getConstValueI32(evaled) === 0; + } + return false; + case TypeKind.I64: + case TypeKind.U64: + case TypeKind.Isize: + case TypeKind.Usize: + // Only call getConstValueI64* if the expression is actually i64 + if (evaledType == TypeRef.I64) { + return getConstValueI64Low(evaled) === 0 && getConstValueI64High(evaled) === 0; + } + // For size types on 32-bit platforms, they might be i32 + if (evaledType == TypeRef.I32 && (type.kind == TypeKind.Isize || type.kind == TypeKind.Usize)) { + return getConstValueI32(evaled) === 0; + } + return false; + case TypeKind.F32: + if (evaledType == TypeRef.F32) { + return getConstValueF32(evaled) === 0.0; + } + return false; + case TypeKind.F64: + if (evaledType == TypeRef.F64) { + return getConstValueF64(evaled) === 0.0; + } + return false; + default: + // For reference types, zero means null + if (type.isReference && type.is(TypeFlags.Nullable)) { + return getExpressionId(evaled) === ExpressionId.RefNull; + } + return false; + } + } + + /** Checks if a field type can use the default zero-initialized memory value. */ + canUseZeroDefault(type: Type): bool { + switch (type.kind) { + default: assert(false); + case TypeKind.Bool: + case TypeKind.I8: + case TypeKind.I16: + case TypeKind.I32: + case TypeKind.U8: + case TypeKind.U16: + case TypeKind.U32: + case TypeKind.I64: + case TypeKind.U64: + case TypeKind.Isize: + case TypeKind.Usize: + case TypeKind.F32: + case TypeKind.F64: + case TypeKind.V128: + return true; // Value types default to zero in zero-initialized memory + case TypeKind.Func: + case TypeKind.Extern: + case TypeKind.Any: + case TypeKind.Eq: + case TypeKind.Struct: + case TypeKind.Array: + case TypeKind.String: + case TypeKind.StringviewWTF8: + case TypeKind.StringviewWTF16: + case TypeKind.StringviewIter: + case TypeKind.I31: + // Reference types: only nullable refs can use zero (null) default + return type.is(TypeFlags.Nullable); + } + } + makeZero(type: Type): ExpressionRef { let module = this.module; switch (type.kind) { @@ -10372,6 +10461,7 @@ export class Compiler extends DiagnosticEmitter { let parameterIndex = fieldPrototype.parameterIndex; // Defer non-parameter fields until parameter fields are initialized + // Since non-parameter may depend on parameter fields if (parameterIndex < 0) { if (!nonParameterFields) nonParameterFields = new Array(); nonParameterFields.push(property); @@ -10407,16 +10497,25 @@ export class Compiler extends DiagnosticEmitter { let initializerNode = fieldPrototype.initializerNode; assert(fieldPrototype.parameterIndex < 0); let setterInstance = assert(field.setterInstance); - let expr = this.makeCallDirect(setterInstance, [ - module.local_get(thisLocalIndex, sizeTypeRef), - initializerNode // use initializer if present, otherwise initialize with zero - ? this.compileExpression(initializerNode, fieldType, Constraints.ConvImplicit) - : this.makeZero(fieldType) - ], field.identifierNode, true); - if (this.currentType != Type.void) { // in case - expr = module.drop(expr); + + if (initializerNode) { + // Explicit initializer + // Check if we need to initialize this field + const valueExpr: ExpressionRef = this.compileExpression(initializerNode, fieldType, Constraints.ConvImplicit); + if (!this.shouldSkipZeroInit(valueExpr, fieldType)) { + let expr = this.makeCallDirect(setterInstance, [ + module.local_get(thisLocalIndex, sizeTypeRef), + valueExpr + ], field.identifierNode, true); + if (this.currentType != Type.void) { // in case + expr = module.drop(expr); + } + stmts.push(expr); + } + } else { + // No explicit initializer + assert(this.canUseZeroDefault(fieldType)); } - stmts.push(expr); } } diff --git a/tests/compiler/assignment-chain.debug.wat b/tests/compiler/assignment-chain.debug.wat index dc86b62eb1..51d22efd7d 100644 --- a/tests/compiler/assignment-chain.debug.wat +++ b/tests/compiler/assignment-chain.debug.wat @@ -2250,35 +2250,30 @@ local.get $ptr return ) + (func $assignment-chain/A#set:y (param $this i32) (param $y i64) + local.get $this + local.get $y + i64.store offset=8 + ) (func $assignment-chain/A#set:x (param $this i32) (param $x i64) local.get $this local.get $x i64.store ) - (func $assignment-chain/A#set:y (param $this i32) (param $y i64) + (func $assignment-chain/B#get:_setter_cnt (param $this i32) (result i32) local.get $this - local.get $y - i64.store offset=8 + i32.load ) (func $assignment-chain/B#set:_setter_cnt (param $this i32) (param $_setter_cnt i32) local.get $this local.get $_setter_cnt i32.store ) - (func $assignment-chain/B#set:_getter_cnt (param $this i32) (param $_getter_cnt i32) - local.get $this - local.get $_getter_cnt - i32.store offset=4 - ) (func $assignment-chain/B#set:_y (param $this i32) (param $_y f64) local.get $this local.get $_y f64.store offset=8 ) - (func $assignment-chain/B#get:_setter_cnt (param $this i32) (result i32) - local.get $this - i32.load - ) (func $assignment-chain/B#get:_getter_cnt (param $this i32) (result i32) local.get $this i32.load offset=4 @@ -2434,22 +2429,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $assignment-chain/A#set:x - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $assignment-chain/A#set:y - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2552,30 +2531,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $assignment-chain/B#set:_setter_cnt - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $assignment-chain/B#set:_getter_cnt - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $assignment-chain/B#set:_y - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/assignment-chain.release.wat b/tests/compiler/assignment-chain.release.wat index 2d02b94594..5ea2d108b0 100644 --- a/tests/compiler/assignment-chain.release.wat +++ b/tests/compiler/assignment-chain.release.wat @@ -122,7 +122,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$129 + block $__inlined_func$~lib/rt/itcms/Object#unlink$124 local.get $1 i32.load offset=4 i32.const -4 @@ -146,7 +146,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$129 + br $__inlined_func$~lib/rt/itcms/Object#unlink$124 end local.get $1 i32.load offset=8 @@ -1661,18 +1661,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1790,24 +1778,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - f64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/bindings/esm.debug.wat b/tests/compiler/bindings/esm.debug.wat index c5ae968aba..ed40bacabc 100644 --- a/tests/compiler/bindings/esm.debug.wat +++ b/tests/compiler/bindings/esm.debug.wat @@ -1,23 +1,20 @@ (module - (type $0 (func (param i32 i32))) - (type $1 (func (param i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) (type $2 (func (param i32 i32) (result i32))) (type $3 (func (param i32))) (type $4 (func)) (type $5 (func (param i32 i32 i32))) (type $6 (func (result i32))) (type $7 (func (param i32 i32 i32 i32))) - (type $8 (func (param i32 i64))) - (type $9 (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $10 (func (param f64) (result f64))) - (type $11 (func (param i64 i64) (result i64))) - (type $12 (func (result i64))) - (type $13 (func (param i32 i32 i64) (result i32))) - (type $14 (func (param i32 f32))) - (type $15 (func (param i32 f64))) - (type $16 (func (param i32 i32 i32) (result i32))) - (type $17 (func (param i32 i32 i64))) - (type $18 (func (param i32 i32) (result f32))) + (type $8 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $9 (func (param f64) (result f64))) + (type $10 (func (param i64 i64) (result i64))) + (type $11 (func (result i64))) + (type $12 (func (param i32 i32 i64) (result i32))) + (type $13 (func (param i32 i32 i32) (result i32))) + (type $14 (func (param i32 i32 i64))) + (type $15 (func (param i32 i32) (result f32))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "globalThis" (global $bindings/esm/immutableGlobal externref)) (import "env" "globalThis.globalThis" (global $bindings/esm/immutableGlobalNested externref)) @@ -2626,106 +2623,24 @@ local.get $this i32.load offset=4 ) + (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) + local.get $this + i32.load8_s + ) (func $bindings/esm/PlainObject#set:a (param $this i32) (param $a i32) local.get $this local.get $a i32.store8 ) + (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) + local.get $this + i32.load16_s offset=2 + ) (func $bindings/esm/PlainObject#set:b (param $this i32) (param $b i32) local.get $this local.get $b i32.store16 offset=2 ) - (func $bindings/esm/PlainObject#set:c (param $this i32) (param $c i32) - local.get $this - local.get $c - i32.store offset=4 - ) - (func $bindings/esm/PlainObject#set:d (param $this i32) (param $d i64) - local.get $this - local.get $d - i64.store offset=8 - ) - (func $bindings/esm/PlainObject#set:e (param $this i32) (param $e i32) - local.get $this - local.get $e - i32.store8 offset=16 - ) - (func $bindings/esm/PlainObject#set:f (param $this i32) (param $f i32) - local.get $this - local.get $f - i32.store16 offset=18 - ) - (func $bindings/esm/PlainObject#set:g (param $this i32) (param $g i32) - local.get $this - local.get $g - i32.store offset=20 - ) - (func $bindings/esm/PlainObject#set:h (param $this i32) (param $h i64) - local.get $this - local.get $h - i64.store offset=24 - ) - (func $bindings/esm/PlainObject#set:i (param $this i32) (param $i i32) - local.get $this - local.get $i - i32.store offset=32 - ) - (func $bindings/esm/PlainObject#set:j (param $this i32) (param $j i32) - local.get $this - local.get $j - i32.store offset=36 - ) - (func $bindings/esm/PlainObject#set:k (param $this i32) (param $k i32) - local.get $this - local.get $k - i32.store8 offset=40 - ) - (func $bindings/esm/PlainObject#set:l (param $this i32) (param $l f32) - local.get $this - local.get $l - f32.store offset=44 - ) - (func $bindings/esm/PlainObject#set:m (param $this i32) (param $m f64) - local.get $this - local.get $m - f64.store offset=48 - ) - (func $bindings/esm/PlainObject#set:n (param $this i32) (param $n i32) - local.get $this - local.get $n - i32.store offset=56 - local.get $this - local.get $n - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $bindings/esm/PlainObject#set:o (param $this i32) (param $o i32) - local.get $this - local.get $o - i32.store offset=60 - local.get $this - local.get $o - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $bindings/esm/PlainObject#set:p (param $this i32) (param $p i32) - local.get $this - local.get $p - i32.store offset=64 - local.get $this - local.get $p - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) - local.get $this - i32.load8_s - ) - (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) - local.get $this - i32.load16_s offset=2 - ) (func $bindings/esm/newInternref (result i32) i32.const 0 call $bindings/esm/NonPlainObject#constructor @@ -3399,30 +3314,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -3444,7 +3335,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3453,7 +3344,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -3466,7 +3357,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3474,7 +3365,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -4092,38 +3983,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -4153,7 +4012,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4162,7 +4021,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -4175,7 +4034,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -4183,7 +4042,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -4191,7 +4050,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -4620,38 +4479,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -4681,7 +4508,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4690,7 +4517,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -4703,7 +4530,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -4711,7 +4538,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -4719,7 +4546,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array<~lib/string/String>#set:length_ @@ -5064,134 +4891,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:b - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:c - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $bindings/esm/PlainObject#set:d - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:e - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:f - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:g - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $bindings/esm/PlainObject#set:h - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:i - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:j - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:k - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f32.const 0 - call $bindings/esm/PlainObject#set:l - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $bindings/esm/PlainObject#set:m - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:n - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:o - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:p - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/bindings/esm.release.wat b/tests/compiler/bindings/esm.release.wat index 9367b73e53..802577b631 100644 --- a/tests/compiler/bindings/esm.release.wat +++ b/tests/compiler/bindings/esm.release.wat @@ -2164,7 +2164,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$284 + block $__inlined_func$~lib/string/String#concat$257 local.get $1 i32.const 20 i32.sub @@ -2183,7 +2183,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1760 local.set $2 - br $__inlined_func$~lib/string/String#concat$284 + br $__inlined_func$~lib/string/String#concat$257 end global.get $~lib/memory/__stack_pointer local.get $2 @@ -2341,19 +2341,20 @@ (func $bindings/esm/typedarrayFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f32) - (local $5 i32) + (local $4 i32) + (local $5 f32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2361,150 +2362,121 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) - local.get $1 - call $~lib/typedarray/Float32Array#get:length - local.get $5 - i32.add - local.set $5 + local.get $1 + call $~lib/typedarray/Float32Array#get:length + local.get $3 + i32.add + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $3 + i32.eqz + if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $5 - i32.const 134217727 - i32.gt_u - if - i32.const 1248 - i32.const 1296 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 3 - i32.shl - local.tee $7 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $2 - local.get $5 - i32.store - local.get $2 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - br $__inlined_func$~lib/typedarray/Uint64Array#constructor - end - br $folding-inner1 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store end - local.tee $2 + local.get $6 + i32.const 134217727 + i32.gt_u + if + i32.const 1248 + i32.const 1296 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 3 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=12 + local.get $3 + local.get $6 + i32.store + local.get $3 + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer @@ -2512,11 +2484,11 @@ i32.store local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -2528,14 +2500,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store - local.get $3 + local.get $2 local.get $0 i32.load offset=8 i32.const 1 @@ -2554,50 +2526,50 @@ i32.store local.get $0 i32.load offset=4 - local.get $3 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_s - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $3 - local.get $5 + local.get $2 + local.get $4 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|0 end end i32.const 0 - local.set $3 + local.set $2 loop $for-loop|1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 call $~lib/typedarray/Float32Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $3 + local.get $2 i32.add - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 @@ -2608,14 +2580,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $1 i32.store - local.get $3 + local.get $2 local.get $1 i32.load offset=8 i32.const 2 @@ -2634,25 +2606,25 @@ i32.store local.get $1 i32.load offset=4 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add f32.load - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $5 + local.get $3 local.get $4 + local.get $5 i64.trunc_sat_f32_u call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|1 end end @@ -2660,7 +2632,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 return end i32.const 35072 @@ -2897,7 +2869,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$269 + block $__inlined_func$~lib/rt/itcms/__renew$242 i32.const 1073741820 local.get $2 i32.const 1 @@ -2940,7 +2912,7 @@ i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$269 + br $__inlined_func$~lib/rt/itcms/__renew$242 end local.get $3 local.get $4 @@ -3185,6 +3157,215 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $7 + i32.const 268435455 + i32.gt_u + if + i32.const 1248 + i32.const 1920 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $7 + local.get $7 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $4 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $3 + local.get $5 + i32.store + local.get $3 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $3 + local.get $2 + local.get $4 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $3 + local.get $4 + local.get $5 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $export:bindings/esm/bufferFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -3449,7 +3630,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - block $__inlined_func$bindings/esm/staticarrayFunction$1 (result i32) + block $__inlined_func$bindings/esm/staticarrayFunction (result i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -3605,7 +3786,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 - br $__inlined_func$bindings/esm/staticarrayFunction$1 + br $__inlined_func$bindings/esm/staticarrayFunction end br $folding-inner1 end @@ -3653,6 +3834,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3683,20 +3865,20 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.add - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -3715,37 +3897,9 @@ i32.const 16 i32.const 11 call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.tee $4 i32.store - local.get $6 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 + local.get $3 i32.const 268435455 i32.gt_u if @@ -3758,54 +3912,54 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 - i32.const 8 + local.get $3 + local.get $3 + i32.const 8 i32.le_u select i32.const 2 i32.shl - local.tee $3 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 + local.tee $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store offset=12 - local.get $6 local.get $4 + local.get $5 i32.store - local.get $6 local.get $4 + local.get $5 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $4 + i32.store offset=8 + local.get $4 + local.get $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $4 + local.get $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 + local.get $4 + i32.store offset=8 + local.get $4 + local.get $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer @@ -3817,12 +3971,12 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 - local.get $6 + local.get $4 local.get $2 local.get $0 local.get $2 @@ -3847,7 +4001,7 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -3860,7 +4014,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $6 + local.get $4 local.get $3 local.get $1 local.get $2 @@ -3881,7 +4035,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 return end i32.const 35072 @@ -3892,20 +4046,48 @@ unreachable ) (func $export:bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + if + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $0 + local.get $1 + call $bindings/esm/arrayOfStringsFunction + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -3913,472 +4095,108 @@ local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/array/Array#get:length - local.set $4 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/array/Array#get:length - local.get $4 - i32.add - local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 12 + i32.const 68 + i32.const 13 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store - local.get $5 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store offset=12 - local.get $4 - i32.const 268435455 - i32.gt_u - if - i32.const 1248 - i32.const 1920 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $4 - local.get $4 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=12 - local.get $5 - local.get $3 - i32.store - local.get $5 - local.get $3 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $6 - i32.store offset=8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $4 - i32.store offset=12 + i32.const 2276 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - loop $for-loop|0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $5 - local.get $2 - local.get $3 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end i32.const 0 - local.set $2 - loop $for-loop|1 + i32.store + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 i32.store - local.get $1 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $5 - local.get $3 - local.get $4 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - block $__inlined_func$bindings/esm/PlainObject#constructor$4 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 68 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store16 offset=2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store8 offset=16 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store16 offset=18 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i64.const 0 - i64.store offset=24 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=32 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=36 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store8 offset=40 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - f32.const 0 - f32.store offset=44 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - f64.const 0 - f64.store offset=48 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=56 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=60 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=64 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - br $__inlined_func$bindings/esm/PlainObject#constructor$4 - end - br $folding-inner1 - end - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store offset=8 - local.get $0 + local.get $2 i32.load8_s local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $2 + local.get $0 local.get $3 local.get $1 i32.load8_s i32.add i32.store8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 - local.get $0 + local.get $2 i32.load16_s offset=2 - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $2 local.get $0 + local.get $2 local.get $1 i32.load16_s offset=2 i32.add @@ -4391,7 +4209,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 return end i32.const 35072 diff --git a/tests/compiler/bindings/noExportRuntime.debug.wat b/tests/compiler/bindings/noExportRuntime.debug.wat index a75c227578..028b029173 100644 --- a/tests/compiler/bindings/noExportRuntime.debug.wat +++ b/tests/compiler/bindings/noExportRuntime.debug.wat @@ -2603,30 +2603,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -2648,7 +2624,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2657,7 +2633,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -2670,7 +2646,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -2678,7 +2654,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength diff --git a/tests/compiler/bindings/noExportRuntime.release.wat b/tests/compiler/bindings/noExportRuntime.release.wat index dd2b17bc43..04cf11fe85 100644 --- a/tests/compiler/bindings/noExportRuntime.release.wat +++ b/tests/compiler/bindings/noExportRuntime.release.wat @@ -156,7 +156,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$132 + block $__inlined_func$~lib/rt/itcms/Object#unlink$130 local.get $0 i32.load offset=4 i32.const -4 @@ -180,7 +180,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$132 + br $__inlined_func$~lib/rt/itcms/Object#unlink$130 end local.get $0 i32.load offset=8 @@ -1580,61 +1580,6 @@ memory.fill local.get $1 ) - (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $1 - if - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1264 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - end - ) (func $bindings/noExportRuntime/takesReturnsBasic (param $0 i32) (result i32) global.get $bindings/noExportRuntime/isBasic ) @@ -1777,6 +1722,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~started if return @@ -1819,7 +1766,7 @@ i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$start:bindings/noExportRuntime + block $__inlined_func$start:bindings/noExportRuntime$1 block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1780 @@ -1886,47 +1833,79 @@ i32.store end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=12 local.get $0 local.get $1 - call $~lib/arraybuffer/ArrayBufferView#set:buffer + i32.store + local.get $1 + if + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1264 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $2 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load offset=4 + i32.const 3 + i32.and + local.tee $4 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $2 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $4 + i32.const 3 + i32.eq + i32.and + if + local.get $2 + call $~lib/rt/itcms/Object#makeGray + end + end + end + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 0 i32.store offset=8 @@ -1942,7 +1921,7 @@ global.set $~lib/memory/__stack_pointer local.get $0 global.set $bindings/noExportRuntime/isTypedArray - br $__inlined_func$start:bindings/noExportRuntime + br $__inlined_func$start:bindings/noExportRuntime$1 end i32.const 34576 i32.const 34624 diff --git a/tests/compiler/bindings/raw.debug.wat b/tests/compiler/bindings/raw.debug.wat index 1a05e8c669..ccd52bdc3e 100644 --- a/tests/compiler/bindings/raw.debug.wat +++ b/tests/compiler/bindings/raw.debug.wat @@ -1,23 +1,20 @@ (module - (type $0 (func (param i32 i32))) - (type $1 (func (param i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) (type $2 (func (param i32 i32) (result i32))) (type $3 (func (param i32))) (type $4 (func)) (type $5 (func (param i32 i32 i32))) (type $6 (func (result i32))) (type $7 (func (param i32 i32 i32 i32))) - (type $8 (func (param i32 i64))) - (type $9 (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $10 (func (param f64) (result f64))) - (type $11 (func (param i64 i64) (result i64))) - (type $12 (func (result i64))) - (type $13 (func (param i32 i32 i64) (result i32))) - (type $14 (func (param i32 f32))) - (type $15 (func (param i32 f64))) - (type $16 (func (param i32 i32 i32) (result i32))) - (type $17 (func (param i32 i32 i64))) - (type $18 (func (param i32 i32) (result f32))) + (type $8 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $9 (func (param f64) (result f64))) + (type $10 (func (param i64 i64) (result i64))) + (type $11 (func (result i64))) + (type $12 (func (param i32 i32 i64) (result i32))) + (type $13 (func (param i32 i32 i32) (result i32))) + (type $14 (func (param i32 i32 i64))) + (type $15 (func (param i32 i32) (result f32))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "globalThis" (global $bindings/esm/immutableGlobal externref)) (import "env" "globalThis.globalThis" (global $bindings/esm/immutableGlobalNested externref)) @@ -2629,106 +2626,24 @@ local.get $this i32.load offset=4 ) + (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) + local.get $this + i32.load8_s + ) (func $bindings/esm/PlainObject#set:a (param $this i32) (param $a i32) local.get $this local.get $a i32.store8 ) + (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) + local.get $this + i32.load16_s offset=2 + ) (func $bindings/esm/PlainObject#set:b (param $this i32) (param $b i32) local.get $this local.get $b i32.store16 offset=2 ) - (func $bindings/esm/PlainObject#set:c (param $this i32) (param $c i32) - local.get $this - local.get $c - i32.store offset=4 - ) - (func $bindings/esm/PlainObject#set:d (param $this i32) (param $d i64) - local.get $this - local.get $d - i64.store offset=8 - ) - (func $bindings/esm/PlainObject#set:e (param $this i32) (param $e i32) - local.get $this - local.get $e - i32.store8 offset=16 - ) - (func $bindings/esm/PlainObject#set:f (param $this i32) (param $f i32) - local.get $this - local.get $f - i32.store16 offset=18 - ) - (func $bindings/esm/PlainObject#set:g (param $this i32) (param $g i32) - local.get $this - local.get $g - i32.store offset=20 - ) - (func $bindings/esm/PlainObject#set:h (param $this i32) (param $h i64) - local.get $this - local.get $h - i64.store offset=24 - ) - (func $bindings/esm/PlainObject#set:i (param $this i32) (param $i i32) - local.get $this - local.get $i - i32.store offset=32 - ) - (func $bindings/esm/PlainObject#set:j (param $this i32) (param $j i32) - local.get $this - local.get $j - i32.store offset=36 - ) - (func $bindings/esm/PlainObject#set:k (param $this i32) (param $k i32) - local.get $this - local.get $k - i32.store8 offset=40 - ) - (func $bindings/esm/PlainObject#set:l (param $this i32) (param $l f32) - local.get $this - local.get $l - f32.store offset=44 - ) - (func $bindings/esm/PlainObject#set:m (param $this i32) (param $m f64) - local.get $this - local.get $m - f64.store offset=48 - ) - (func $bindings/esm/PlainObject#set:n (param $this i32) (param $n i32) - local.get $this - local.get $n - i32.store offset=56 - local.get $this - local.get $n - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $bindings/esm/PlainObject#set:o (param $this i32) (param $o i32) - local.get $this - local.get $o - i32.store offset=60 - local.get $this - local.get $o - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $bindings/esm/PlainObject#set:p (param $this i32) (param $p i32) - local.get $this - local.get $p - i32.store offset=64 - local.get $this - local.get $p - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) - local.get $this - i32.load8_s - ) - (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) - local.get $this - i32.load16_s offset=2 - ) (func $bindings/esm/newInternref (result i32) i32.const 0 call $bindings/esm/NonPlainObject#constructor @@ -3402,30 +3317,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -3447,7 +3338,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3456,7 +3347,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -3469,7 +3360,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3477,7 +3368,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -4095,38 +3986,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -4156,7 +4015,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4165,7 +4024,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -4178,7 +4037,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -4186,7 +4045,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -4194,7 +4053,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -4623,38 +4482,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -4684,7 +4511,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4693,7 +4520,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -4706,7 +4533,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -4714,7 +4541,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -4722,7 +4549,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array<~lib/string/String>#set:length_ @@ -5067,134 +4894,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:b - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:c - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $bindings/esm/PlainObject#set:d - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:e - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:f - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:g - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $bindings/esm/PlainObject#set:h - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:i - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:j - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:k - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f32.const 0 - call $bindings/esm/PlainObject#set:l - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $bindings/esm/PlainObject#set:m - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:n - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:o - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:p - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/bindings/raw.release.wat b/tests/compiler/bindings/raw.release.wat index e2ed7cd278..754d321128 100644 --- a/tests/compiler/bindings/raw.release.wat +++ b/tests/compiler/bindings/raw.release.wat @@ -2164,7 +2164,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$285 + block $__inlined_func$~lib/string/String#concat$258 local.get $1 i32.const 20 i32.sub @@ -2183,7 +2183,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1760 local.set $2 - br $__inlined_func$~lib/string/String#concat$285 + br $__inlined_func$~lib/string/String#concat$258 end global.get $~lib/memory/__stack_pointer local.get $2 @@ -2341,19 +2341,20 @@ (func $bindings/esm/typedarrayFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f32) - (local $5 i32) + (local $4 i32) + (local $5 f32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2361,150 +2362,121 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) - local.get $1 - call $~lib/typedarray/Float32Array#get:length - local.get $5 - i32.add - local.set $5 + local.get $1 + call $~lib/typedarray/Float32Array#get:length + local.get $3 + i32.add + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $3 + i32.eqz + if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $5 - i32.const 134217727 - i32.gt_u - if - i32.const 1248 - i32.const 1296 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 3 - i32.shl - local.tee $7 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $2 - local.get $5 - i32.store - local.get $2 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - br $__inlined_func$~lib/typedarray/Uint64Array#constructor - end - br $folding-inner1 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store end - local.tee $2 + local.get $6 + i32.const 134217727 + i32.gt_u + if + i32.const 1248 + i32.const 1296 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 3 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=12 + local.get $3 + local.get $6 + i32.store + local.get $3 + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer @@ -2512,11 +2484,11 @@ i32.store local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -2528,14 +2500,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store - local.get $3 + local.get $2 local.get $0 i32.load offset=8 i32.const 1 @@ -2554,50 +2526,50 @@ i32.store local.get $0 i32.load offset=4 - local.get $3 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_s - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $3 - local.get $5 + local.get $2 + local.get $4 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|0 end end i32.const 0 - local.set $3 + local.set $2 loop $for-loop|1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 call $~lib/typedarray/Float32Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $3 + local.get $2 i32.add - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 @@ -2608,14 +2580,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $1 i32.store - local.get $3 + local.get $2 local.get $1 i32.load offset=8 i32.const 2 @@ -2634,25 +2606,25 @@ i32.store local.get $1 i32.load offset=4 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add f32.load - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $5 + local.get $3 local.get $4 + local.get $5 i64.trunc_sat_f32_u call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|1 end end @@ -2660,7 +2632,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 return end i32.const 35072 @@ -2897,7 +2869,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$270 + block $__inlined_func$~lib/rt/itcms/__renew$243 i32.const 1073741820 local.get $2 i32.const 1 @@ -2940,7 +2912,7 @@ i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$270 + br $__inlined_func$~lib/rt/itcms/__renew$243 end local.get $3 local.get $4 @@ -3185,6 +3157,215 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $7 + i32.const 268435455 + i32.gt_u + if + i32.const 1248 + i32.const 1920 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $7 + local.get $7 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $4 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $3 + local.get $5 + i32.store + local.get $3 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $3 + local.get $2 + local.get $4 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $3 + local.get $4 + local.get $5 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $export:bindings/esm/bufferFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -3449,7 +3630,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - block $__inlined_func$bindings/esm/staticarrayFunction$1 (result i32) + block $__inlined_func$bindings/esm/staticarrayFunction (result i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -3605,7 +3786,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 - br $__inlined_func$bindings/esm/staticarrayFunction$1 + br $__inlined_func$bindings/esm/staticarrayFunction end br $folding-inner1 end @@ -3653,6 +3834,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3683,20 +3865,20 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.add - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -3715,37 +3897,9 @@ i32.const 16 i32.const 11 call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.tee $4 i32.store - local.get $6 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 + local.get $3 i32.const 268435455 i32.gt_u if @@ -3758,54 +3912,54 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 - i32.const 8 + local.get $3 + local.get $3 + i32.const 8 i32.le_u select i32.const 2 i32.shl - local.tee $3 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 + local.tee $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store offset=12 - local.get $6 local.get $4 + local.get $5 i32.store - local.get $6 local.get $4 + local.get $5 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $4 + i32.store offset=8 + local.get $4 + local.get $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $4 + local.get $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 + local.get $4 + i32.store offset=8 + local.get $4 + local.get $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer @@ -3817,12 +3971,12 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 - local.get $6 + local.get $4 local.get $2 local.get $0 local.get $2 @@ -3847,7 +4001,7 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -3860,7 +4014,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $6 + local.get $4 local.get $3 local.get $1 local.get $2 @@ -3881,7 +4035,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 return end i32.const 35072 @@ -3892,20 +4046,48 @@ unreachable ) (func $export:bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + if + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $0 + local.get $1 + call $bindings/esm/arrayOfStringsFunction + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -3913,472 +4095,108 @@ local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/array/Array#get:length - local.set $4 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/array/Array#get:length - local.get $4 - i32.add - local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 12 + i32.const 68 + i32.const 13 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store - local.get $5 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store offset=12 - local.get $4 - i32.const 268435455 - i32.gt_u - if - i32.const 1248 - i32.const 1920 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $4 - local.get $4 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=12 - local.get $5 - local.get $3 - i32.store - local.get $5 - local.get $3 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $6 - i32.store offset=8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $4 - i32.store offset=12 + i32.const 2276 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - loop $for-loop|0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $5 - local.get $2 - local.get $3 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end i32.const 0 - local.set $2 - loop $for-loop|1 + i32.store + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 i32.store - local.get $1 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $5 - local.get $3 - local.get $4 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - block $__inlined_func$bindings/esm/PlainObject#constructor$4 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 68 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store16 offset=2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store8 offset=16 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store16 offset=18 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i64.const 0 - i64.store offset=24 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=32 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=36 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store8 offset=40 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - f32.const 0 - f32.store offset=44 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - f64.const 0 - f64.store offset=48 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=56 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=60 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=64 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - br $__inlined_func$bindings/esm/PlainObject#constructor$4 - end - br $folding-inner1 - end - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store offset=8 - local.get $0 + local.get $2 i32.load8_s local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $2 + local.get $0 local.get $3 local.get $1 i32.load8_s i32.add i32.store8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 - local.get $0 + local.get $2 i32.load16_s offset=2 - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $2 local.get $0 + local.get $2 local.get $1 i32.load16_s offset=2 i32.add @@ -4391,7 +4209,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 return end i32.const 35072 diff --git a/tests/compiler/call-rest.debug.wat b/tests/compiler/call-rest.debug.wat index af743cb0b0..53ab22fbb7 100644 --- a/tests/compiler/call-rest.debug.wat +++ b/tests/compiler/call-rest.debug.wat @@ -3061,14 +3061,6 @@ local.get $7 i32.store offset=4 local.get $7 - i32.const 0 - call $call-rest/Foo#set:values - local.get $this - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 diff --git a/tests/compiler/call-rest.release.wat b/tests/compiler/call-rest.release.wat index 24506bdd09..9f9fcdfc9c 100644 --- a/tests/compiler/call-rest.release.wat +++ b/tests/compiler/call-rest.release.wat @@ -147,7 +147,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$160 + block $__inlined_func$~lib/rt/itcms/Object#unlink$159 local.get $0 i32.load offset=4 i32.const -4 @@ -171,7 +171,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$160 + br $__inlined_func$~lib/rt/itcms/Object#unlink$159 end local.get $0 i32.load offset=8 @@ -2028,7 +2028,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$154 + block $__inlined_func$~lib/rt/itcms/__renew$153 i32.const 1073741820 local.get $2 i32.const 1 @@ -2071,7 +2071,7 @@ i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$154 + br $__inlined_func$~lib/rt/itcms/__renew$153 end local.get $3 local.get $4 @@ -2211,15 +2211,6 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=4 - local.get $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 4 diff --git a/tests/compiler/class.debug.wat b/tests/compiler/class.debug.wat index 7e5b928f9c..740d99f295 100644 --- a/tests/compiler/class.debug.wat +++ b/tests/compiler/class.debug.wat @@ -2682,38 +2682,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -2743,7 +2711,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2752,7 +2720,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -2765,7 +2733,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -2773,7 +2741,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -2781,7 +2749,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ diff --git a/tests/compiler/class.release.wat b/tests/compiler/class.release.wat index d0d28890f0..b3a5bb5353 100644 --- a/tests/compiler/class.release.wat +++ b/tests/compiler/class.release.wat @@ -109,7 +109,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$139 + block $__inlined_func$~lib/rt/itcms/Object#unlink$136 local.get $0 i32.load offset=4 i32.const -4 @@ -133,7 +133,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$139 + br $__inlined_func$~lib/rt/itcms/Object#unlink$136 end local.get $0 i32.load offset=8 @@ -1668,38 +1668,14 @@ local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/array/Array#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer i32.const 32 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=12 @@ -1708,19 +1684,19 @@ call $~lib/array/Array#set:buffer global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + i32.store offset=8 local.get $2 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + i32.store offset=8 local.get $2 i32.const 32 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + i32.store offset=8 local.get $2 i32.const 0 i32.store offset=12 diff --git a/tests/compiler/constructor.debug.wat b/tests/compiler/constructor.debug.wat index b607b591d6..64ac738324 100644 --- a/tests/compiler/constructor.debug.wat +++ b/tests/compiler/constructor.debug.wat @@ -2260,11 +2260,6 @@ local.get $a i32.store ) - (func $constructor/EmptyCtorWithFieldNoInit#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - ) (func $constructor/EmptyCtorWithFieldAccess#set:a (param $this i32) (param $a i32) local.get $this local.get $a @@ -2275,11 +2270,6 @@ local.get $a i32.store ) - (func $constructor/JustFieldNoInit#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - ) (func $constructor/CtorReturns#constructor (param $this i32) (result i32) i32.const 0 return @@ -2540,42 +2530,6 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $constructor/EmptyCtorWithFieldNoInit#constructor (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $constructor/EmptyCtorWithFieldNoInit#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $constructor/EmptyCtorWithFieldAccess#constructor (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2602,14 +2556,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - call $constructor/EmptyCtorWithFieldAccess#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 call $constructor/EmptyCtorWithFieldAccess#set:a local.get $this @@ -2737,14 +2683,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $constructor/JustFieldNoInit#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3147,6 +3085,34 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $constructor/EmptyCtorWithFieldNoInit#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $~lib/object/Object#constructor (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/constructor.release.wat b/tests/compiler/constructor.release.wat index 339b5624fc..8f5ac86640 100644 --- a/tests/compiler/constructor.release.wat +++ b/tests/compiler/constructor.release.wat @@ -181,7 +181,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$153 + block $__inlined_func$~lib/rt/itcms/Object#unlink$150 local.get $1 i32.load offset=4 i32.const -4 @@ -205,7 +205,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$153 + br $__inlined_func$~lib/rt/itcms/Object#unlink$150 end local.get $1 i32.load offset=8 @@ -1747,7 +1747,7 @@ local.get $0 global.set $constructor/emptyCtorWithFieldInit global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1755,8 +1755,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 6 @@ -1764,13 +1764,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1796,12 +1790,6 @@ local.get $0 i32.store offset=4 local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 i32.const 1 i32.store global.get $~lib/memory/__stack_pointer @@ -1904,12 +1892,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/duplicate-fields.debug.wat b/tests/compiler/duplicate-fields.debug.wat index d8ebed0ef6..03b34f2366 100644 --- a/tests/compiler/duplicate-fields.debug.wat +++ b/tests/compiler/duplicate-fields.debug.wat @@ -2357,26 +2357,6 @@ local.get $this i32.load ) - (func $duplicate-fields/A3#set:prot (param $this i32) (param $prot i32) - local.get $this - local.get $prot - i32.store - ) - (func $duplicate-fields/A3#set:pub (param $this i32) (param $pub i32) - local.get $this - local.get $pub - i32.store offset=4 - ) - (func $duplicate-fields/B3#set:prot (param $this i32) (param $prot i32) - local.get $this - local.get $prot - i32.store - ) - (func $duplicate-fields/B3#set:pub (param $this i32) (param $pub i32) - local.get $this - local.get $pub - i32.store offset=4 - ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) global.get $duplicate-fields/foo @@ -2526,14 +2506,6 @@ local.get $2 i32.store offset=4 local.get $2 - i32.const 0 - call $duplicate-fields/A#set:bar - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $bar call $duplicate-fields/A#set:bar local.get $this @@ -2564,14 +2536,6 @@ local.tee $this i32.store end - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $duplicate-fields/B#set:bar global.get $~lib/memory/__stack_pointer local.get $this local.set $2 @@ -2628,14 +2592,6 @@ local.get $2 i32.store offset=4 local.get $2 - i32.const 0 - call $duplicate-fields/A2#set:bar - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $bar local.set $2 global.get $~lib/memory/__stack_pointer @@ -2674,14 +2630,6 @@ local.tee $this i32.store end - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $duplicate-fields/B2#set:bar global.get $~lib/memory/__stack_pointer local.get $this local.set $2 @@ -2745,14 +2693,6 @@ local.get $2 i32.store offset=4 local.get $2 - i32.const 0 - call $duplicate-fields/Foo#set:foo - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $foo call $duplicate-fields/Foo#set:foo local.get $this @@ -2796,22 +2736,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $duplicate-fields/A3#set:prot - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $duplicate-fields/A3#set:pub - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2850,22 +2774,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $duplicate-fields/B3#set:prot - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $duplicate-fields/B3#set:pub - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/duplicate-fields.release.wat b/tests/compiler/duplicate-fields.release.wat index 5bd2b707b9..83315fea51 100644 --- a/tests/compiler/duplicate-fields.release.wat +++ b/tests/compiler/duplicate-fields.release.wat @@ -116,7 +116,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$139 + block $__inlined_func$~lib/rt/itcms/Object#unlink$132 local.get $0 i32.load offset=4 i32.const -4 @@ -140,7 +140,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$139 + br $__inlined_func$~lib/rt/itcms/Object#unlink$132 end local.get $0 i32.load offset=8 @@ -1706,12 +1706,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 @@ -1740,12 +1734,6 @@ local.get $0 i32.store offset=4 local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 i32.const 10 i32.store global.get $~lib/memory/__stack_pointer @@ -1803,12 +1791,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 i32.store global.get $~lib/memory/__stack_pointer @@ -1839,12 +1821,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $duplicate-fields/A2#set:bar - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 @@ -1878,12 +1854,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $0 - i32.const 0 - call $duplicate-fields/A2#set:bar - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 @@ -2006,36 +1976,12 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-baseaggregate.debug.wat b/tests/compiler/extends-baseaggregate.debug.wat index ae6d22ffe4..10a8a76897 100644 --- a/tests/compiler/extends-baseaggregate.debug.wat +++ b/tests/compiler/extends-baseaggregate.debug.wat @@ -6,9 +6,8 @@ (type $4 (func (param i32 i32) (result i32))) (type $5 (func (param i32 i32 i32))) (type $6 (func (param i32 i32 i32 i32))) - (type $7 (func (param i32 f64))) - (type $8 (func (param i32 i32 i64) (result i32))) - (type $9 (func (result i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $extends-baseaggregate/poolB i32 (i32.const 64)) (global $extends-baseaggregate/poolA i32 (i32.const 144)) @@ -2251,15 +2250,67 @@ local.get $ptr return ) - (func $extends-baseaggregate/A1#set:padding0 (param $this i32) (param $padding0 f64) + (func $~lib/array/Array#get:length_ (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - local.get $padding0 - f64.store + i32.load offset=8 ) - (func $extends-baseaggregate/A1#set:padding1 (param $this i32) (param $padding1 f64) + (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - local.get $padding1 - f64.store offset=8 + i32.load + ) + (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) + local.get $this + i32.load offset=16 + ) + (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) + (local $oldObj i32) + (local $newPtr i32) + (local $4 i32) + (local $5 i32) + local.get $oldPtr + i32.const 20 + i32.sub + local.set $oldObj + local.get $size + local.get $oldObj + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $oldObj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $oldPtr + return + end + local.get $size + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtId + call $~lib/rt/itcms/__new + local.set $newPtr + local.get $newPtr + local.get $oldPtr + local.get $size + local.tee $4 + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtSize + local.tee $5 + local.get $4 + local.get $5 + i32.lt_u + select + memory.copy + local.get $newPtr + return ) (func $~lib/rt/itcms/__link (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2329,77 +2380,6 @@ end end ) - (func $extends-baseaggregate/A1#set:c1 (param $this i32) (param $c1 i32) - local.get $this - local.get $c1 - i32.store offset=16 - local.get $this - local.get $c1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#get:length_ (param $this i32) (result i32) - local.get $this - i32.load offset=12 - ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) - local.get $this - i32.load offset=8 - ) - (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) - local.get $this - i32.load - ) - (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) - local.get $this - i32.load offset=16 - ) - (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) - (local $oldObj i32) - (local $newPtr i32) - (local $4 i32) - (local $5 i32) - local.get $oldPtr - i32.const 20 - i32.sub - local.set $oldObj - local.get $size - local.get $oldObj - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $oldObj - local.get $size - call $~lib/rt/itcms/Object#set:rtSize - local.get $oldPtr - return - end - local.get $size - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtId - call $~lib/rt/itcms/__new - local.set $newPtr - local.get $newPtr - local.get $oldPtr - local.get $size - local.tee $4 - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtSize - local.tee $5 - local.get $4 - local.get $5 - i32.lt_u - select - memory.copy - local.get $newPtr - return - ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this i32.load offset=4 @@ -2624,30 +2604,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $extends-baseaggregate/A1#set:padding0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $extends-baseaggregate/A1#set:padding1 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $extends-baseaggregate/A1#set:c1 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-baseaggregate.release.wat b/tests/compiler/extends-baseaggregate.release.wat index 997ed95a65..7fa6f9c971 100644 --- a/tests/compiler/extends-baseaggregate.release.wat +++ b/tests/compiler/extends-baseaggregate.release.wat @@ -6,7 +6,6 @@ (type $4 (func (param i32 i32 i32 i32))) (type $5 (func (param i32 i32 i64))) (type $6 (func (result i32))) - (type $7 (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -120,7 +119,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$142 + block $__inlined_func$~lib/rt/itcms/Object#unlink$139 local.get $0 i32.load offset=4 i32.const -4 @@ -144,7 +143,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$142 + br $__inlined_func$~lib/rt/itcms/Object#unlink$139 end local.get $0 i32.load offset=8 @@ -1544,60 +1543,47 @@ memory.fill local.get $1 ) - (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - local.get $1 - i32.eqz - if - return - end + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 i32.eqz if - i32.const 0 - i32.const 1280 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable + return end global.get $~lib/rt/itcms/white - local.get $1 + local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load offset=4 i32.const 3 i32.and i32.eq if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load offset=4 + i32.const 1152 + i32.load i32.const 3 i32.and - local.tee $3 + local.tee $2 global.get $~lib/rt/itcms/white i32.eqz i32.eq if + i32.const 1148 local.get $0 local.get $1 - local.get $2 select call $~lib/rt/itcms/Object#makeGray else global.get $~lib/rt/itcms/state i32.const 1 i32.eq - local.get $3 + local.get $2 i32.const 3 i32.eq i32.and if - local.get $1 + local.get $0 call $~lib/rt/itcms/Object#makeGray end end @@ -1787,11 +1773,11 @@ i32.const 20 i32.const 7 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -1804,19 +1790,19 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $6 + local.get $5 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 20 i32.const 5 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.store end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1829,56 +1815,34 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $6 + local.get $5 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 0 - f64.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 0 - f64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=16 - local.get $6 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1896,11 +1860,11 @@ i32.store i32.const 1180 i32.load - local.tee $5 + local.tee $4 i32.const 1 i32.add - local.tee $4 - local.set $2 + local.tee $3 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1915,15 +1879,15 @@ global.get $~lib/memory/__stack_pointer i32.const 1168 i32.store - local.get $2 + local.get $0 i32.const 1176 i32.load - local.tee $0 + local.tee $1 i32.const 2 i32.shr_u i32.gt_u if - local.get $2 + local.get $0 i32.const 268435455 i32.gt_u if @@ -1937,20 +1901,20 @@ global.get $~lib/memory/__stack_pointer i32.const 1168 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$141 + block $__inlined_func$~lib/rt/itcms/__renew$138 i32.const 1073741820 - local.get $0 + local.get $1 i32.const 1 i32.shl - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 1073741820 i32.ge_u select local.tee $1 i32.const 8 - local.get $2 - local.get $2 + local.get $0 + local.get $0 i32.const 8 i32.le_u select @@ -1961,13 +1925,13 @@ local.get $1 i32.lt_u select - local.tee $3 + local.tee $2 i32.const 1168 i32.load - local.tee $0 + local.tee $1 i32.const 20 i32.sub - local.tee $2 + local.tee $6 i32.load i32.const -4 i32.and @@ -1975,26 +1939,26 @@ i32.sub i32.le_u if + local.get $6 local.get $2 - local.get $3 i32.store offset=16 - local.get $0 - local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$141 + local.get $1 + local.set $0 + br $__inlined_func$~lib/rt/itcms/__renew$138 end - local.get $3 local.get $2 + local.get $6 i32.load offset=12 call $~lib/rt/itcms/__new - local.tee $1 - local.get $0 - local.get $3 + local.tee $0 + local.get $1 local.get $2 + local.get $6 i32.load offset=16 - local.tee $2 + local.tee $6 local.get $2 - local.get $3 - i32.gt_u + local.get $6 + i32.lt_u select memory.copy end @@ -2003,18 +1967,17 @@ i32.ne if i32.const 1168 - local.get $1 + local.get $0 i32.store i32.const 1172 - local.get $1 + local.get $0 i32.store - i32.const 1168 - local.get $1 + local.get $0 i32.const 0 call $~lib/rt/itcms/__link end i32.const 1176 - local.get $3 + local.get $2 i32.store end global.get $~lib/memory/__stack_pointer @@ -2026,21 +1989,20 @@ i32.store i32.const 1172 i32.load - local.get $5 + local.get $4 i32.const 2 i32.shl i32.add - local.get $6 + local.get $5 i32.store - i32.const 1168 - local.get $6 + local.get $5 i32.const 1 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 1168 i32.store i32.const 1180 - local.get $4 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/extends-recursive.debug.wat b/tests/compiler/extends-recursive.debug.wat index e0d1b59343..2984c7c9aa 100644 --- a/tests/compiler/extends-recursive.debug.wat +++ b/tests/compiler/extends-recursive.debug.wat @@ -3,8 +3,8 @@ (type $1 (func (param i32 i32))) (type $2 (func (param i32))) (type $3 (func)) - (type $4 (func (param i32 i32 i32))) - (type $5 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) (type $6 (func (param i32 i32 i32 i32))) (type $7 (func (param i32 i32 i64) (result i32))) (type $8 (func (result i32))) @@ -2241,83 +2241,6 @@ local.get $ptr return ) - (func $~lib/rt/itcms/__link (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) - (local $child i32) - (local $parent i32) - (local $parentColor i32) - local.get $childPtr - i32.eqz - if - return - end - i32.const 1 - drop - local.get $parentPtr - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $childPtr - i32.const 20 - i32.sub - local.set $child - local.get $child - call $~lib/rt/itcms/Object#get:color - global.get $~lib/rt/itcms/white - i32.eq - if - local.get $parentPtr - i32.const 20 - i32.sub - local.set $parent - local.get $parent - call $~lib/rt/itcms/Object#get:color - local.set $parentColor - local.get $parentColor - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $expectMultiple - if - local.get $parent - call $~lib/rt/itcms/Object#makeGray - else - local.get $child - call $~lib/rt/itcms/Object#makeGray - end - else - local.get $parentColor - i32.const 3 - i32.eq - if (result i32) - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - else - i32.const 0 - end - if - local.get $child - call $~lib/rt/itcms/Object#makeGray - end - end - end - ) - (func $extends-recursive/Parent#set:child (param $this i32) (param $child i32) - local.get $this - local.get $child - i32.store - local.get $this - local.get $child - i32.const 0 - call $~lib/rt/itcms/__link - ) (func $start:extends-recursive memory.size i32.const 16 @@ -2462,14 +2385,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $extends-recursive/Parent#set:child - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-recursive.release.wat b/tests/compiler/extends-recursive.release.wat index 5ccacc74bf..2cd3066ab6 100644 --- a/tests/compiler/extends-recursive.release.wat +++ b/tests/compiler/extends-recursive.release.wat @@ -90,19 +90,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if - local.get $0 + local.get $1 global.get $~lib/rt/itcms/iter i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -112,21 +112,21 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$116 - local.get $0 + block $__inlined_func$~lib/rt/itcms/Object#unlink$114 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if - local.get $0 + local.get $1 i32.load offset=8 i32.eqz - local.get $0 + local.get $1 i32.const 34236 i32.lt_u i32.and @@ -139,9 +139,9 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$116 + br $__inlined_func$~lib/rt/itcms/Object#unlink$114 end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -153,11 +153,11 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 - local.get $1 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 @@ -167,15 +167,15 @@ end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 2 i32.le_u if (result i32) i32.const 1 else - local.get $1 + local.get $0 i32.const 1440 i32.load i32.gt_u @@ -187,7 +187,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 1444 @@ -199,8 +199,8 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 @@ -209,19 +209,19 @@ local.get $2 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 local.get $0 local.get $1 + local.get $0 i32.load offset=4 i32.const 3 i32.and i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 @@ -1548,7 +1548,7 @@ (local $0 i32) (local $1 i32) (local $2 i32) - block $__inlined_func$start:extends-recursive$1 + block $__inlined_func$start:extends-recursive memory.size i32.const 16 i32.shl @@ -1656,12 +1656,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1671,7 +1665,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$start:extends-recursive$1 + br $__inlined_func$start:extends-recursive end i32.const 34256 i32.const 34304 diff --git a/tests/compiler/field-initialization.debug.wat b/tests/compiler/field-initialization.debug.wat index acb835fa02..15b078c0d5 100644 --- a/tests/compiler/field-initialization.debug.wat +++ b/tests/compiler/field-initialization.debug.wat @@ -2261,11 +2261,6 @@ local.get $this i32.load ) - (func $field-initialization/Value#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - ) (func $field-initialization/Value#get:a (param $this i32) (result i32) local.get $this i32.load @@ -2364,24 +2359,10 @@ local.get $this i32.load ) - (func $field-initialization/Nullable#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - local.get $this - local.get $a - i32.const 0 - call $~lib/rt/itcms/__link - ) (func $field-initialization/Nullable#get:a (param $this i32) (result i32) local.get $this i32.load ) - (func $field-initialization/Value_Ctor#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - ) (func $field-initialization/Value_Ctor#get:a (param $this i32) (result i32) local.get $this i32.load @@ -2443,15 +2424,6 @@ local.get $this i32.load ) - (func $field-initialization/Nullable_Ctor#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - local.get $this - local.get $a - i32.const 0 - call $~lib/rt/itcms/__link - ) (func $field-initialization/Nullable_Ctor#get:a (param $this i32) (result i32) local.get $this i32.load @@ -2495,20 +2467,6 @@ local.get $this i32.load ) - (func $field-initialization/SomeObject#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - ) - (func $field-initialization/SomeObject#set:b (param $this i32) (param $b i32) - local.get $this - local.get $b - i32.store offset=4 - local.get $this - local.get $b - i32.const 0 - call $~lib/rt/itcms/__link - ) (func $field-initialization/SomeObject#get:a (param $this i32) (result i32) local.get $this i32.load @@ -2634,6 +2592,20 @@ i32.const 0 return ) + (func $field-initialization/SomeObject#set:a (param $this i32) (param $a i32) + local.get $this + local.get $a + i32.store + ) + (func $field-initialization/SomeObject#set:b (param $this i32) (param $b i32) + local.get $this + local.get $b + i32.store offset=4 + local.get $this + local.get $b + i32.const 0 + call $~lib/rt/itcms/__link + ) (func $field-initialization/SomeOtherObject#set:c (param $this i32) (param $c i32) local.get $this local.get $c @@ -3107,14 +3079,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/Value#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3265,50 +3229,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/Nullable#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $field-initialization/Value_Ctor#constructor (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/Value_Ctor#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3376,14 +3296,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - call $field-initialization/Value_Ctor_Init#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 call $field-initialization/Value_Ctor_Init#set:a local.get $this @@ -3470,14 +3382,6 @@ i32.store offset=4 local.get $1 i32.const 0 - call $field-initialization/Ref_Ctor_Init#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -3538,42 +3442,6 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $field-initialization/Nullable_Ctor#constructor (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/Nullable_Ctor#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $field-initialization/Nullable_Init_Ctor#constructor (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3650,14 +3518,6 @@ i32.store offset=4 local.get $1 i32.const 0 - call $field-initialization/Nullable_Ctor_Init#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -3839,22 +3699,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/SomeObject#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/SomeObject#set:b - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3989,14 +3833,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/SomeOtherObject#set:c - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -4025,14 +3861,6 @@ local.tee $this i32.store end - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $field-initialization/Flow_Balanced#set:a local.get $cond if local.get $this @@ -5038,14 +4866,6 @@ i32.store offset=4 local.get $34 i32.const 0 - call $field-initialization/Ref_InlineCtor_Init#set:a - local.get $32 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store offset=4 - local.get $34 - i32.const 0 i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $34 @@ -5149,4 +4969,60 @@ local.get $3 return ) + (func $field-initialization/Value_Ctor#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $field-initialization/Nullable_Ctor#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) ) diff --git a/tests/compiler/field-initialization.release.wat b/tests/compiler/field-initialization.release.wat index c5911e7208..416e5fc382 100644 --- a/tests/compiler/field-initialization.release.wat +++ b/tests/compiler/field-initialization.release.wat @@ -120,7 +120,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$241 + block $__inlined_func$~lib/rt/itcms/Object#unlink$229 local.get $0 i32.load offset=4 i32.const -4 @@ -144,7 +144,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$241 + br $__inlined_func$~lib/rt/itcms/Object#unlink$229 end local.get $0 i32.load offset=8 @@ -1754,21 +1754,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1887,7 +1872,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$118 + block $__inlined_func$~lib/util/string/compareImpl$107 loop $while-continue|1 local.get $0 local.tee $3 @@ -1907,7 +1892,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$118 + br_if $__inlined_func$~lib/util/string/compareImpl$107 local.get $2 i32.const 2 i32.add @@ -1971,15 +1956,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2114,12 +2090,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2291,15 +2261,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2320,7 +2281,7 @@ end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2328,8 +2289,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 9 @@ -2337,13 +2298,7 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2428,12 +2383,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 i32.store global.get $~lib/memory/__stack_pointer @@ -2536,15 +2485,6 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer @@ -2639,7 +2579,7 @@ end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2647,8 +2587,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 15 @@ -2656,16 +2596,7 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2762,15 +2693,6 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer @@ -3289,15 +3211,6 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer @@ -3376,15 +3289,6 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/infer-generic.debug.wat b/tests/compiler/infer-generic.debug.wat index e5325dead1..5e894fd0c4 100644 --- a/tests/compiler/infer-generic.debug.wat +++ b/tests/compiler/infer-generic.debug.wat @@ -2605,14 +2605,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $infer-generic/Ref#set:x - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/infer-generic.release.wat b/tests/compiler/infer-generic.release.wat index c09c4b901d..18a0f25673 100644 --- a/tests/compiler/infer-generic.release.wat +++ b/tests/compiler/infer-generic.release.wat @@ -144,7 +144,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$138 + block $__inlined_func$~lib/rt/itcms/Object#unlink$137 local.get $1 i32.load offset=4 i32.const -4 @@ -168,7 +168,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$138 + br $__inlined_func$~lib/rt/itcms/Object#unlink$137 end local.get $1 i32.load offset=8 @@ -1810,12 +1810,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/inlining.debug.wat b/tests/compiler/inlining.debug.wat index 1478d40aca..1d06017ded 100644 --- a/tests/compiler/inlining.debug.wat +++ b/tests/compiler/inlining.debug.wat @@ -2893,14 +2893,6 @@ local.get $5 i32.const 3 call $inlining/Bar#set:d - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $inlining/Bar#set:e global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $this @@ -2932,14 +2924,6 @@ local.get $5 i32.store offset=4 local.get $5 - i32.const 0 - call $inlining/Baz#set:b - local.get $this|2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $c call $inlining/Baz#set:b local.get $this|2 diff --git a/tests/compiler/inlining.release.wat b/tests/compiler/inlining.release.wat index bb306de122..befc30cc22 100644 --- a/tests/compiler/inlining.release.wat +++ b/tests/compiler/inlining.release.wat @@ -134,7 +134,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$125 + block $__inlined_func$~lib/rt/itcms/Object#unlink$123 local.get $1 i32.load offset=4 i32.const -4 @@ -158,7 +158,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$125 + br $__inlined_func$~lib/rt/itcms/Object#unlink$123 end local.get $1 i32.load offset=8 @@ -1539,217 +1539,6 @@ memory.fill local.get $1 ) - (func $start:inlining - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1556 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - i32.const 2 - i32.const 1104 - i32.load - call_indirect (type $2) - drop - global.get $~lib/memory/__stack_pointer - i32.const 123 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 123 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - memory.size - i32.const 16 - i32.shl - i32.const 34324 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1252 - i32.const 1248 - i32.store - i32.const 1256 - i32.const 1248 - i32.store - i32.const 1248 - global.set $~lib/rt/itcms/pinSpace - i32.const 1284 - i32.const 1280 - i32.store - i32.const 1288 - i32.const 1280 - i32.store - i32.const 1280 - global.set $~lib/rt/itcms/toSpace - i32.const 1428 - i32.const 1424 - i32.store - i32.const 1432 - i32.const 1424 - i32.store - i32.const 1424 - global.set $~lib/rt/itcms/fromSpace - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1556 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store offset=8 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.store offset=4 - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - i32.store offset=12 - local.get $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 96 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 97 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 98 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=12 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 99 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 34352 - i32.const 34400 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) (func $~lib/math/NativeMath.cbrt (param $0 f64) (result f64) (local $1 i32) (local $2 i64) @@ -1972,6 +1761,204 @@ unreachable ) (func $~start - call $start:inlining + (local $0 i32) + (local $1 i32) + (local $2 i32) + block $__inlined_func$start:inlining + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1556 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 2 + i32.const 1104 + i32.load + call_indirect (type $2) + drop + global.get $~lib/memory/__stack_pointer + i32.const 123 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 123 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + memory.size + i32.const 16 + i32.shl + i32.const 34324 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1252 + i32.const 1248 + i32.store + i32.const 1256 + i32.const 1248 + i32.store + i32.const 1248 + global.set $~lib/rt/itcms/pinSpace + i32.const 1284 + i32.const 1280 + i32.store + i32.const 1288 + i32.const 1280 + i32.store + i32.const 1280 + global.set $~lib/rt/itcms/toSpace + i32.const 1428 + i32.const 1424 + i32.store + i32.const 1432 + i32.const 1424 + i32.store + i32.const 1424 + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1556 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=8 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 2 + i32.store offset=4 + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 4 + i32.store offset=12 + local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 96 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=4 + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 97 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 98 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=12 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 99 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$start:inlining + end + i32.const 34352 + i32.const 34400 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end ) ) diff --git a/tests/compiler/issues/1225.debug.wat b/tests/compiler/issues/1225.debug.wat index b87f40c3c9..ad0e33bb26 100644 --- a/tests/compiler/issues/1225.debug.wat +++ b/tests/compiler/issues/1225.debug.wat @@ -2477,22 +2477,6 @@ local.get $2 i32.store offset=4 local.get $2 - i32.const 0 - call $issues/1225/X#set:normal - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $issues/1225/X#set:viaThis - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $this local.set $2 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/issues/1225.release.wat b/tests/compiler/issues/1225.release.wat index be387fc91c..ea4687ae29 100644 --- a/tests/compiler/issues/1225.release.wat +++ b/tests/compiler/issues/1225.release.wat @@ -126,7 +126,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$119 + block $__inlined_func$~lib/rt/itcms/Object#unlink$117 local.get $1 i32.load offset=4 i32.const -4 @@ -150,7 +150,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$119 + br $__inlined_func$~lib/rt/itcms/Object#unlink$117 end local.get $1 i32.load offset=8 @@ -1472,18 +1472,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 diff --git a/tests/compiler/issues/1699.debug.wat b/tests/compiler/issues/1699.debug.wat index 168e3faaaf..11b6e1a3d6 100644 --- a/tests/compiler/issues/1699.debug.wat +++ b/tests/compiler/issues/1699.debug.wat @@ -2545,38 +2545,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -2606,7 +2574,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2615,7 +2583,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -2628,7 +2596,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -2636,7 +2604,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -2644,7 +2612,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ diff --git a/tests/compiler/issues/1699.release.wat b/tests/compiler/issues/1699.release.wat index 80c73bc8a5..3e6ab4dff7 100644 --- a/tests/compiler/issues/1699.release.wat +++ b/tests/compiler/issues/1699.release.wat @@ -113,7 +113,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$146 + block $__inlined_func$~lib/rt/itcms/Object#unlink$143 local.get $0 i32.load offset=4 i32.const -4 @@ -137,7 +137,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$146 + br $__inlined_func$~lib/rt/itcms/Object#unlink$143 end local.get $0 i32.load offset=8 @@ -1600,6 +1600,7 @@ (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) memory.size i32.const 16 i32.shl @@ -1636,11 +1637,11 @@ i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 28 @@ -1653,7 +1654,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -1667,42 +1668,14 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer i32.const 32 i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 @@ -1715,19 +1688,19 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 32 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 3 i32.store offset=12 @@ -1780,7 +1753,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -2133,7 +2106,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$145 + block $__inlined_func$~lib/rt/itcms/__renew$142 i32.const 1073741820 local.get $4 i32.const 1 @@ -2176,7 +2149,7 @@ i32.store offset=16 local.get $4 local.set $3 - br $__inlined_func$~lib/rt/itcms/__renew$145 + br $__inlined_func$~lib/rt/itcms/__renew$142 end local.get $5 local.get $7 diff --git a/tests/compiler/issues/2322/index.debug.wat b/tests/compiler/issues/2322/index.debug.wat index febbe4e10f..86b20889ec 100644 --- a/tests/compiler/issues/2322/index.debug.wat +++ b/tests/compiler/issues/2322/index.debug.wat @@ -2242,11 +2242,6 @@ local.get $ptr return ) - (func $issues/2322/lib/Wrapper#set:v (param $this i32) (param $v i32) - local.get $this - local.get $v - i32.store - ) (func $issues/2322/lib/test (param $t i32) ) (func $~lib/rt/__visit_globals (param $0 i32) @@ -2363,14 +2358,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $issues/2322/lib/Wrapper#set:v - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/issues/2322/index.release.wat b/tests/compiler/issues/2322/index.release.wat index 9349beea7c..46f12de6a8 100644 --- a/tests/compiler/issues/2322/index.release.wat +++ b/tests/compiler/issues/2322/index.release.wat @@ -116,7 +116,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$112 + block $__inlined_func$~lib/rt/itcms/Object#unlink$111 local.get $1 i32.load offset=4 i32.const -4 @@ -140,7 +140,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$112 + br $__inlined_func$~lib/rt/itcms/Object#unlink$111 end local.get $1 i32.load offset=8 @@ -1647,12 +1647,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/object-literal.debug.wat b/tests/compiler/object-literal.debug.wat index f5a5c6902a..df1a074737 100644 --- a/tests/compiler/object-literal.debug.wat +++ b/tests/compiler/object-literal.debug.wat @@ -5,17 +5,14 @@ (type $3 (func)) (type $4 (func (param i32 i32) (result i32))) (type $5 (func (param i32 i32 i32))) - (type $6 (func (param i32 f64))) - (type $7 (func (param i32) (result f64))) - (type $8 (func (param i32 i64))) - (type $9 (func (param i32) (result i64))) - (type $10 (func (param i32 i32 i32 i32))) - (type $11 (func (param i32 i32 i64) (result i32))) - (type $12 (func (result i32))) - (type $13 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $14 (func (param i32 f32))) - (type $15 (func (param i32) (result f32))) - (type $16 (func (param i32 i32 i32) (result i32))) + (type $6 (func (param i32) (result f64))) + (type $7 (func (param i32) (result i64))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64) (result i32))) + (type $10 (func (result i32))) + (type $11 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $12 (func (param i32) (result f32))) + (type $13 (func (param i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/iter (mut i32) (i32.const 0)) @@ -2483,12 +2480,6 @@ local.set $this end local.get $this - i32.const 0 - call $object-literal/Unmanaged#set:bar - local.get $this - i32.const 0 - call $object-literal/Unmanaged#set:baz - local.get $this ) (func $object-literal/Unmanaged#get:bar (param $this i32) (result i32) local.get $this @@ -2498,76 +2489,6 @@ local.get $this i32.load offset=4 ) - (func $object-literal/OmittedTypes#set:int32 (param $this i32) (param $int32 i32) - local.get $this - local.get $int32 - i32.store - ) - (func $object-literal/OmittedTypes#set:uint32 (param $this i32) (param $uint32 i32) - local.get $this - local.get $uint32 - i32.store offset=4 - ) - (func $object-literal/OmittedTypes#set:int64 (param $this i32) (param $int64 i64) - local.get $this - local.get $int64 - i64.store offset=8 - ) - (func $object-literal/OmittedTypes#set:uint64 (param $this i32) (param $uint64 i64) - local.get $this - local.get $uint64 - i64.store offset=16 - ) - (func $object-literal/OmittedTypes#set:float32 (param $this i32) (param $float32 f32) - local.get $this - local.get $float32 - f32.store offset=24 - ) - (func $object-literal/OmittedTypes#set:float64 (param $this i32) (param $float64 f64) - local.get $this - local.get $float64 - f64.store offset=32 - ) - (func $object-literal/OmittedTypes#set:int8 (param $this i32) (param $int8 i32) - local.get $this - local.get $int8 - i32.store8 offset=40 - ) - (func $object-literal/OmittedTypes#set:uint8 (param $this i32) (param $uint8 i32) - local.get $this - local.get $uint8 - i32.store8 offset=41 - ) - (func $object-literal/OmittedTypes#set:int16 (param $this i32) (param $int16 i32) - local.get $this - local.get $int16 - i32.store16 offset=42 - ) - (func $object-literal/OmittedTypes#set:uint16 (param $this i32) (param $uint16 i32) - local.get $this - local.get $uint16 - i32.store16 offset=44 - ) - (func $object-literal/OmittedTypes#set:intsize (param $this i32) (param $intsize i32) - local.get $this - local.get $intsize - i32.store offset=48 - ) - (func $object-literal/OmittedTypes#set:uintsize (param $this i32) (param $uintsize i32) - local.get $this - local.get $uintsize - i32.store offset=52 - ) - (func $object-literal/OmittedTypes#set:alias (param $this i32) (param $alias f64) - local.get $this - local.get $alias - f64.store offset=56 - ) - (func $object-literal/OmittedTypes#set:isTrue (param $this i32) (param $isTrue i32) - local.get $this - local.get $isTrue - i32.store8 offset=64 - ) (func $object-literal/OmittedTypes#get:int32 (param $this i32) (result i32) local.get $this i32.load @@ -2638,11 +2559,6 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $object-literal/MixedOmitted#set:anotherSimpleType (param $this i32) (param $anotherSimpleType f64) - local.get $this - local.get $anotherSimpleType - f64.store offset=8 - ) (func $object-literal/MixedOmitted#get:simpleType (param $this i32) (result i32) local.get $this i32.load @@ -2673,65 +2589,6 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $object-literal/OmittedFoo#set:quux (param $this i32) (param $quux i32) - local.get $this - local.get $quux - i32.store offset=8 - local.get $this - local.get $quux - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $object-literal/OmittedFoo#set:quuz (param $this i32) (param $quuz i32) - local.get $this - local.get $quuz - i32.store offset=12 - local.get $this - local.get $quuz - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $object-literal/OmittedFoo#set:corge (param $this i32) (param $corge i32) - local.get $this - local.get $corge - i32.store offset=16 - local.get $this - local.get $corge - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $object-literal/OmittedFoo#set:grault (param $this i32) (param $grault i32) - local.get $this - local.get $grault - i32.store offset=20 - local.get $this - local.get $grault - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $object-literal/OmittedFoo#set:garply (param $this i32) (param $garply i32) - local.get $this - local.get $garply - i32.store offset=24 - local.get $this - local.get $garply - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $object-literal/OmittedFoo#set:waldo (param $this i32) (param $waldo i32) - local.get $this - local.get $waldo - i32.store offset=28 - local.get $this - local.get $waldo - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $object-literal/OmittedFoo#set:fred (param $this i32) (param $fred i32) - local.get $this - local.get $fred - i32.store offset=32 - ) (func $object-literal/OmittedFoo#set:qux (param $this i32) (param $qux i32) local.get $this local.get $qux @@ -2997,22 +2854,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/Managed#set:bar - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/Managed#set:baz - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3400,118 +3241,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:int32 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:uint32 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $object-literal/OmittedTypes#set:int64 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $object-literal/OmittedTypes#set:uint64 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f32.const 0 - call $object-literal/OmittedTypes#set:float32 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $object-literal/OmittedTypes#set:float64 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:int8 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:uint8 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:int16 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:uint16 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:intsize - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:uintsize - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $object-literal/OmittedTypes#set:alias - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:isTrue - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3825,30 +3554,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/MixedOmitted#set:simpleType - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/MixedOmitted#set:complexType - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $object-literal/MixedOmitted#set:anotherSimpleType - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3980,62 +3685,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:quux - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:quuz - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:corge - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:grault - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:garply - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:waldo - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:fred - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const -1 call $object-literal/OmittedFoo#set:qux local.get $this diff --git a/tests/compiler/object-literal.release.wat b/tests/compiler/object-literal.release.wat index 9070d20967..d842a0201f 100644 --- a/tests/compiler/object-literal.release.wat +++ b/tests/compiler/object-literal.release.wat @@ -71,7 +71,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$205 + block $__inlined_func$~lib/rt/itcms/Object#unlink$179 local.get $0 i32.load offset=4 i32.const -4 @@ -95,7 +95,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$205 + br $__inlined_func$~lib/rt/itcms/Object#unlink$179 end local.get $0 i32.load offset=8 @@ -1786,7 +1786,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$83 + block $__inlined_func$~lib/util/string/compareImpl$79 loop $while-continue|1 local.get $0 local.tee $3 @@ -1806,7 +1806,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$83 + br_if $__inlined_func$~lib/util/string/compareImpl$79 local.get $2 i32.const 2 i32.add @@ -2274,11 +2274,11 @@ i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 @@ -2323,7 +2323,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2342,21 +2342,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2387,7 +2372,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2441,12 +2426,6 @@ i32.const 4 i32.add local.tee $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 i32.const 123 i32.store global.get $~lib/memory/__stack_pointer @@ -2456,7 +2435,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2482,7 +2461,7 @@ i32.const 1 i32.shl local.set $3 - block $__inlined_func$~lib/string/String#substring$210 + block $__inlined_func$~lib/string/String#substring$184 local.get $2 i32.const 0 local.get $2 @@ -2503,7 +2482,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1568 local.set $0 - br $__inlined_func$~lib/string/String#substring$210 + br $__inlined_func$~lib/string/String#substring$184 end local.get $3 i32.eqz @@ -2520,7 +2499,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1056 local.set $0 - br $__inlined_func$~lib/string/String#substring$210 + br $__inlined_func$~lib/string/String#substring$184 end global.get $~lib/memory/__stack_pointer local.get $2 @@ -2552,7 +2531,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -2599,7 +2578,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2607,152 +2586,68 @@ i32.const 65 i32.const 5 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 call $~lib/object/Object#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 0 - f32.store offset=24 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 0 - f64.store offset=32 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store8 offset=40 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store8 offset=41 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store16 offset=42 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store16 offset=44 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=48 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=52 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 0 - f64.store offset=56 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store8 offset=64 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 0 i32.store offset=4 - local.get $0 + local.get $1 i64.const 0 i64.store offset=8 - local.get $0 + local.get $1 i64.const 0 i64.store offset=16 - local.get $0 + local.get $1 f32.const 0 f32.store offset=24 - local.get $0 + local.get $1 f64.const 0 f64.store offset=32 - local.get $0 + local.get $1 i32.const 0 i32.store8 offset=40 - local.get $0 + local.get $1 i32.const 0 i32.store8 offset=41 - local.get $0 + local.get $1 i32.const 0 i32.store16 offset=42 - local.get $0 + local.get $1 i32.const 0 i32.store16 offset=44 - local.get $0 + local.get $1 i32.const 0 i32.store offset=48 - local.get $0 + local.get $1 i32.const 0 i32.store offset=52 - local.get $0 + local.get $1 f64.const 0 f64.store offset=56 - local.get $0 + local.get $1 i32.const 0 i32.store8 offset=64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 call $object-literal/testOmittedTypes global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2762,7 +2657,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2781,27 +2676,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - f64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2835,7 +2709,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2899,7 +2773,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2907,131 +2781,71 @@ i32.const 40 i32.const 7 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 call $~lib/object/Object#constructor - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1664 i32.store - local.get $0 + local.get $1 i32.const 1664 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1696 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1696 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=24 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=28 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=32 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const -1 i32.store offset=36 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=20 - local.get $0 + local.get $1 i32.const 0 i32.store offset=8 - local.get $0 + local.get $1 i32.const 0 i32.store offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store offset=16 - local.get $0 + local.get $1 i32.const 0 i32.store offset=20 - local.get $0 + local.get $1 i32.const 0 i32.store offset=24 - local.get $0 + local.get $1 i32.const 0 i32.store offset=28 - local.get $0 + local.get $1 i32.const 0 i32.store offset=32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 call $object-literal/testOmittedFoo i32.const 34516 global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-access.debug.wat b/tests/compiler/resolve-access.debug.wat index 6dc9f58eb4..e2532e7221 100644 --- a/tests/compiler/resolve-access.debug.wat +++ b/tests/compiler/resolve-access.debug.wat @@ -3212,14 +3212,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $resolve-access/Container#set:foo - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-access.release.wat b/tests/compiler/resolve-access.release.wat index 7e043af3e4..39a5ba4027 100644 --- a/tests/compiler/resolve-access.release.wat +++ b/tests/compiler/resolve-access.release.wat @@ -124,7 +124,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$143 + block $__inlined_func$~lib/rt/itcms/Object#unlink$142 local.get $0 i32.load offset=4 i32.const -4 @@ -148,7 +148,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$143 + br $__inlined_func$~lib/rt/itcms/Object#unlink$142 end local.get $0 i32.load offset=8 @@ -2221,12 +2221,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-elementaccess.debug.wat b/tests/compiler/resolve-elementaccess.debug.wat index 77ff64f407..cdf93fc6c9 100644 --- a/tests/compiler/resolve-elementaccess.debug.wat +++ b/tests/compiler/resolve-elementaccess.debug.wat @@ -4433,30 +4433,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -4478,7 +4454,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4487,7 +4463,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -4500,7 +4476,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -4508,7 +4484,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength diff --git a/tests/compiler/resolve-elementaccess.release.wat b/tests/compiler/resolve-elementaccess.release.wat index 5e4a644023..3e819a281a 100644 --- a/tests/compiler/resolve-elementaccess.release.wat +++ b/tests/compiler/resolve-elementaccess.release.wat @@ -176,7 +176,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$153 + block $__inlined_func$~lib/rt/itcms/Object#unlink$151 local.get $0 i32.load offset=4 i32.const -4 @@ -200,7 +200,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$153 + br $__inlined_func$~lib/rt/itcms/Object#unlink$151 end local.get $0 i32.load offset=8 @@ -1600,61 +1600,6 @@ memory.fill local.get $1 ) - (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $1 - if - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1232 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - end - ) (func $~lib/util/number/genDigits (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) @@ -2957,6 +2902,8 @@ ) (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -2988,24 +2935,6 @@ local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 i32.const 1073741820 local.get $1 i32.shr_u @@ -3023,31 +2952,81 @@ i32.const 2 local.get $1 i32.shl - local.tee $2 + local.tee $1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=8 + local.tee $3 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=12 local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $3 + i32.store + local.get $3 + if + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1232 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $3 + i32.const 20 + i32.sub + local.tee $4 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load offset=4 + i32.const 3 + i32.and + local.tee $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $4 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $2 + i32.const 3 + i32.eq + i32.and + if + local.get $4 + call $~lib/rt/itcms/Object#makeGray + end + end + end + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 - local.get $1 + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 16 @@ -3272,7 +3251,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$97 + block $__inlined_func$~lib/util/string/compareImpl$95 loop $while-continue|1 local.get $0 local.tee $3 @@ -3292,7 +3271,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$97 + br_if $__inlined_func$~lib/util/string/compareImpl$95 local.get $2 i32.const 2 i32.add diff --git a/tests/compiler/return-unreachable.debug.wat b/tests/compiler/return-unreachable.debug.wat index f66ebe5b52..00fbb971e2 100644 --- a/tests/compiler/return-unreachable.debug.wat +++ b/tests/compiler/return-unreachable.debug.wat @@ -2481,38 +2481,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -2542,7 +2510,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2551,7 +2519,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -2564,7 +2532,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -2572,7 +2540,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -2580,7 +2548,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ diff --git a/tests/compiler/return-unreachable.release.wat b/tests/compiler/return-unreachable.release.wat index 3e068205cc..b4e44c5db6 100644 --- a/tests/compiler/return-unreachable.release.wat +++ b/tests/compiler/return-unreachable.release.wat @@ -108,7 +108,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$121 + block $__inlined_func$~lib/rt/itcms/Object#unlink$118 local.get $0 i32.load offset=4 i32.const -4 @@ -132,7 +132,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$121 + br $__inlined_func$~lib/rt/itcms/Object#unlink$118 end local.get $0 i32.load offset=8 @@ -1532,64 +1532,11 @@ memory.fill local.get $1 ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $1 - if - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - end - ) (func $return-unreachable/test (param $0 i32) (result i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1624,59 +1571,85 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer i32.const 400 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=12 local.get $0 local.get $1 - call $~lib/array/Array#set:buffer + i32.store + local.get $1 + if + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1216 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $2 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load offset=4 + i32.const 3 + i32.and + local.tee $4 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $2 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $4 + i32.const 3 + i32.eq + i32.and + if + local.get $2 + call $~lib/rt/itcms/Object#makeGray + end + end + end + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 400 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 100 i32.store offset=12 diff --git a/tests/compiler/rt/issue-2719.debug.wat b/tests/compiler/rt/issue-2719.debug.wat index 2c202baebd..242203cc8f 100644 --- a/tests/compiler/rt/issue-2719.debug.wat +++ b/tests/compiler/rt/issue-2719.debug.wat @@ -2242,11 +2242,6 @@ local.get $ptr return ) - (func $rt/issue-2719/issue2719_T#set:v (param $this i32) (param $v i32) - local.get $this - local.get $v - i32.store - ) (func $~lib/rt/itcms/__collect i32.const 0 drop @@ -2293,6 +2288,11 @@ i32.const 0 drop ) + (func $rt/issue-2719/issue2719_T#set:v (param $this i32) (param $v i32) + local.get $this + local.get $v + i32.store + ) (func $rt/issue-2719/issue2719_T#get:v (param $this i32) (result i32) local.get $this i32.load @@ -2395,14 +2395,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $rt/issue-2719/issue2719_T#set:v - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/rt/issue-2719.release.wat b/tests/compiler/rt/issue-2719.release.wat index 376cd994e9..d482c7ab6f 100644 --- a/tests/compiler/rt/issue-2719.release.wat +++ b/tests/compiler/rt/issue-2719.release.wat @@ -117,7 +117,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$119 + block $__inlined_func$~lib/rt/itcms/Object#unlink$118 local.get $1 i32.load offset=4 i32.const -4 @@ -141,7 +141,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$119 + br $__inlined_func$~lib/rt/itcms/Object#unlink$118 end local.get $1 i32.load offset=8 @@ -1759,12 +1759,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/array.debug.wat b/tests/compiler/std/array.debug.wat index 76974815e0..d0fa098e06 100644 --- a/tests/compiler/std/array.debug.wat +++ b/tests/compiler/std/array.debug.wat @@ -10094,38 +10094,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -10155,7 +10123,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10164,7 +10132,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -10177,7 +10145,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -10185,7 +10153,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -10193,7 +10161,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -10265,30 +10233,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -10310,7 +10254,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10319,7 +10263,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -10332,7 +10276,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -10340,7 +10284,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -16149,22 +16093,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $std/array/Dim#set:height - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $std/array/Dim#set:width - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -20748,38 +20676,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -20809,7 +20705,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -20818,7 +20714,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -20831,7 +20727,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array<~lib/array/Array>#set:dataStart @@ -20839,7 +20735,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/array/Array>#set:byteLength @@ -20847,7 +20743,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array<~lib/array/Array>#set:length_ @@ -22483,38 +22379,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array>#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array>#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array>#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -22544,7 +22408,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -22553,7 +22417,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -22566,7 +22430,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array>#set:dataStart @@ -22574,7 +22438,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array>#set:byteLength @@ -22582,7 +22446,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array>#set:length_ @@ -26079,38 +25943,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -26140,7 +25972,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -26149,7 +25981,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -26162,7 +25994,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -26170,7 +26002,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -26178,7 +26010,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array<~lib/string/String>#set:length_ diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index 22943cdb01..0e2e8ebb13 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -11,9 +11,9 @@ (type $9 (func (param i32 i32 i32 i32))) (type $10 (func (param i32 i32 i32 i32 i32))) (type $11 (func)) - (type $12 (func (result f64))) - (type $13 (func (param i32 i32 i32 i32 i32 i32))) - (type $14 (func (result i32))) + (type $12 (func (result i32))) + (type $13 (func (result f64))) + (type $14 (func (param i32 i32 i32 i32 i32 i32))) (type $15 (func (param i32 i32 i32) (result f32))) (type $16 (func (param i32 f64) (result i32))) (type $17 (func (param i32 i64) (result i32))) @@ -758,7 +758,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$731 + block $__inlined_func$~lib/rt/itcms/Object#unlink$711 local.get $0 i32.load offset=4 i32.const -4 @@ -782,7 +782,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$731 + br $__inlined_func$~lib/rt/itcms/Object#unlink$711 end local.get $0 i32.load offset=8 @@ -6423,34 +6423,6 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=12 local.get $0 i32.const 268435455 i32.gt_u @@ -6475,10 +6447,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 @@ -6491,19 +6463,19 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 local.get $1 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 local.get $1 local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 local.get $1 local.get $0 i32.store offset=12 @@ -6896,7 +6868,7 @@ i32.lt_s select local.set $0 - block $__inlined_func$~lib/util/bytes/FILL$139 + block $__inlined_func$~lib/util/bytes/FILL$132 local.get $1 i32.eqz local.get $1 @@ -6921,7 +6893,7 @@ i32.shl memory.fill end - br $__inlined_func$~lib/util/bytes/FILL$139 + br $__inlined_func$~lib/util/bytes/FILL$132 end loop $for-loop|0 local.get $0 @@ -7191,7 +7163,7 @@ i32.lt_s select local.set $0 - block $__inlined_func$~lib/util/bytes/FILL$148 + block $__inlined_func$~lib/util/bytes/FILL$141 local.get $1 i32.reinterpret_f32 i32.eqz @@ -7213,7 +7185,7 @@ i32.shl memory.fill end - br $__inlined_func$~lib/util/bytes/FILL$148 + br $__inlined_func$~lib/util/bytes/FILL$141 end loop $for-loop|0 local.get $0 @@ -7593,7 +7565,7 @@ select local.set $1 end - block $__inlined_func$~lib/rt/itcms/__renew$653 + block $__inlined_func$~lib/rt/itcms/__renew$632 local.get $3 i32.const 20 i32.sub @@ -7611,7 +7583,7 @@ i32.store offset=16 local.get $3 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew$653 + br $__inlined_func$~lib/rt/itcms/__renew$632 end local.get $1 local.get $4 @@ -11032,18 +11004,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -13086,7 +13046,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - block $__inlined_func$std/array/isSorted$658 (result i32) + block $__inlined_func$std/array/isSorted$637 (result i32) global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 @@ -13154,7 +13114,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isSorted$658 + br $__inlined_func$std/array/isSorted$637 end local.get $0 i32.const 1 @@ -14391,7 +14351,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - block $__inlined_func$std/array/isSorted<~lib/array/Array>$660 (result i32) + block $__inlined_func$std/array/isSorted<~lib/array/Array>$640 (result i32) global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 @@ -14474,7 +14434,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isSorted<~lib/array/Array>$660 + br $__inlined_func$std/array/isSorted<~lib/array/Array>$640 end local.get $1 i32.const 1 @@ -14901,7 +14861,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$736 + block $__inlined_func$~lib/string/String#concat$716 local.get $1 i32.const 20 i32.sub @@ -14920,7 +14880,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/string/String#concat$736 + br $__inlined_func$~lib/string/String#concat$716 end global.get $~lib/memory/__stack_pointer local.get $0 @@ -14957,114 +14917,9 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - local.get $1 - local.get $2 - i32.gt_s - select - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - i32.const 1 - i32.shl - local.set $3 - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.ge_s - select - i32.const 1 - i32.shl - local.tee $4 - local.get $3 - i32.sub - local.tee $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11568 - return - end - local.get $3 - i32.eqz - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.eq - i32.and - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $1 - local.get $0 - local.get $3 - i32.add - local.get $2 - memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/array/createRandomStringArray (result i32) + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15072,7 +14927,7 @@ (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -15081,25 +14936,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.set $6 + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=12 - local.set $0 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -15109,21 +14953,374 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$738 - local.get $0 - i32.const 1 - i32.sub - local.tee $7 - i32.const 0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1600 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=12 + local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 1600 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 400 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + loop $for-loop|0 + local.get $3 + i32.const 400 i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add + local.get $0 + i32.store offset=4 + call $~lib/math/NativeMath.random + f64.const 32 + f64.mul + i32.trunc_sat_f64_s + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub global.set $~lib/memory/__stack_pointer - i32.const 11568 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 11568 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 11568 + i32.store + i32.const 0 + local.set $4 + loop $for-loop|00 + local.get $4 + local.get $6 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + call $~lib/math/NativeMath.random + i32.const 10028 + i32.load + i32.const 1 + i32.shr_u + f64.convert_i32_s + f64.mul + f64.floor + i32.trunc_sat_f64_s + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 10032 + i32.store + block $__inlined_func$~lib/string/String#charAt$717 + local.get $5 + i32.const 10028 + i32.load + i32.const 1 + i32.shr_u + i32.ge_u + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + local.set $1 + br $__inlined_func$~lib/string/String#charAt$717 + end + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + local.get $1 + local.get $5 + i32.const 1 + i32.shl + i32.const 10032 + i32.add + i32.load16_u + i32.store16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $2 + local.get $1 + call $~lib/string/String.__concat + local.tee $2 + i32.store + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $0 + local.get $3 + local.get $2 + call $~lib/array/Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $2 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $1 + local.get $2 + i32.gt_s + select + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.le_s + select + i32.const 1 + i32.shl + local.set $3 + local.get $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.ge_s + select + i32.const 1 + i32.shl + local.tee $4 + local.get $3 + i32.sub + local.tee $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + return + end + local.get $3 + i32.eqz + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.eq + i32.and + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + local.get $1 + local.get $0 + local.get $3 + i32.add + local.get $2 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=12 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$718 + local.get $0 + i32.const 1 + i32.sub + local.tee $7 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$738 + br $__inlined_func$~lib/util/string/joinIntegerArray$718 end local.get $7 i32.eqz @@ -15136,7 +15333,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$738 + br $__inlined_func$~lib/util/string/joinIntegerArray$718 end global.get $~lib/memory/__stack_pointer local.get $1 @@ -15235,7 +15432,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$738 + br $__inlined_func$~lib/util/string/joinIntegerArray$718 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -15301,7 +15498,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$739 + block $__inlined_func$~lib/util/string/joinIntegerArray$719 local.get $0 i32.const 1 i32.sub @@ -15315,7 +15512,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$739 + br $__inlined_func$~lib/util/string/joinIntegerArray$719 end local.get $7 i32.eqz @@ -15328,7 +15525,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$739 + br $__inlined_func$~lib/util/string/joinIntegerArray$719 end global.get $~lib/memory/__stack_pointer local.get $1 @@ -15427,7 +15624,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$739 + br $__inlined_func$~lib/util/string/joinIntegerArray$719 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -16206,7 +16403,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$740 + block $__inlined_func$~lib/util/string/joinIntegerArray$720 local.get $0 i32.const 1 i32.sub @@ -16220,7 +16417,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$740 + br $__inlined_func$~lib/util/string/joinIntegerArray$720 end local.get $6 i32.eqz @@ -16233,7 +16430,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$740 + br $__inlined_func$~lib/util/string/joinIntegerArray$720 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -16326,7 +16523,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$740 + br $__inlined_func$~lib/util/string/joinIntegerArray$720 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -16402,7 +16599,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $__inlined_func$~lib/util/number/utoa64$485 + block $__inlined_func$~lib/util/number/utoa64$464 local.get $3 i64.eqz if @@ -16412,7 +16609,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7712 local.set $1 - br $__inlined_func$~lib/util/number/utoa64$485 + br $__inlined_func$~lib/util/number/utoa64$464 end local.get $3 i64.const 4294967295 @@ -16751,7 +16948,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$743 + block $__inlined_func$~lib/util/string/joinIntegerArray$723 local.get $0 i32.const 1 i32.sub @@ -16765,7 +16962,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$743 + br $__inlined_func$~lib/util/string/joinIntegerArray$723 end local.get $6 i32.eqz @@ -16778,7 +16975,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$743 + br $__inlined_func$~lib/util/string/joinIntegerArray$723 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -16871,7 +17068,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$743 + br $__inlined_func$~lib/util/string/joinIntegerArray$723 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -17359,17 +17556,16 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 f64) - (local $7 f32) + (local $4 i64) + (local $5 f64) + (local $6 f32) + (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 444 i32.sub @@ -17420,9 +17616,9 @@ global.set $std/array/arr i32.const 0 call $std/array/Ref#constructor - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 @@ -17439,11 +17635,11 @@ i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 16 @@ -17459,87 +17655,65 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - local.get $2 + local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store offset=12 - local.get $2 - local.get $9 + local.get $0 + local.get $8 i32.store - local.get $2 - local.get $9 + local.get $0 + local.get $8 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $9 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $0 + i32.store offset=8 + local.get $0 i32.const 1 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.eqz if i32.const 0 @@ -17555,30 +17729,30 @@ i32.const 7 i32.const 1696 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1728 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17590,28 +17764,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1760 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17623,27 +17797,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1792 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17655,28 +17829,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 2 i32.const -2 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1824 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17688,27 +17862,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1856 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17720,28 +17894,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const -1 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1888 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17758,30 +17932,30 @@ i32.const 8 i32.const 1920 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 1968 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17793,28 +17967,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2016 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17826,27 +18000,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2064 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17858,28 +18032,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 2 i32.const -2 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2112 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17891,27 +18065,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2160 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17923,28 +18097,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const -1 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2208 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17961,30 +18135,30 @@ i32.const 9 i32.const 2256 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 f32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2304 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17996,28 +18170,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 f32.const 0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2352 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -18029,27 +18203,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 f32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2400 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -18061,28 +18235,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 f32.const 2 i32.const -2 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2448 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -18094,27 +18268,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 f32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2496 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -18126,28 +18300,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 f32.const -1 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2544 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -18159,28 +18333,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 f32.const -0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2592 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -18193,9 +18367,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length if i32.const 0 @@ -18207,9 +18381,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18223,16 +18397,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 42 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -18247,9 +18421,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 1 i32.ne @@ -18263,9 +18437,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18279,9 +18453,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#pop i32.const 42 i32.ne @@ -18295,9 +18469,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length if i32.const 0 @@ -18309,9 +18483,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18325,16 +18499,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 43 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 1 i32.ne @@ -18348,9 +18522,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18364,9 +18538,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18381,16 +18555,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 44 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 2 i32.ne @@ -18404,9 +18578,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18420,9 +18594,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18437,9 +18611,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18454,16 +18628,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 45 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -18477,9 +18651,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18493,9 +18667,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18510,9 +18684,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18527,9 +18701,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -18549,22 +18723,22 @@ i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $8 + local.tee $7 i32.store offset=20 - local.get $8 + local.get $7 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $8 + local.get $7 i32.const 1 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $8 + local.get $7 i32.store offset=24 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -18577,14 +18751,14 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $8 + local.get $7 i32.const 0 i32.const 0 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -18592,9 +18766,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#get:length if i32.const 0 @@ -18610,12 +18784,12 @@ i32.const 4 i32.const 2688 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#at i32.const 1 @@ -18629,9 +18803,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 3 call $~lib/array/Array#at i32.const 4 @@ -18645,9 +18819,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const -1 call $~lib/array/Array#at i32.const 4 @@ -18661,9 +18835,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const -4 call $~lib/array/Array#at i32.const 1 @@ -18679,26 +18853,26 @@ global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/array/Array#constructor - local.tee $2 + local.tee $0 i32.store offset=32 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $8 - local.get $2 + local.get $7 + local.get $0 call $~lib/array/Array#concat - local.tee $8 + local.tee $7 i32.store offset=36 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $9 + local.tee $8 i32.store - local.get $9 + local.get $8 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18712,9 +18886,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $9 + local.tee $8 i32.store - local.get $9 + local.get $8 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -18727,9 +18901,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -18742,26 +18916,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 2736 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 call $~lib/array/Array#concat drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $9 + local.tee $8 i32.store - local.get $9 + local.get $8 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18774,9 +18948,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18790,9 +18964,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18806,9 +18980,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -18822,35 +18996,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 46 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 47 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $8 - local.get $2 + local.get $7 + local.get $0 call $~lib/array/Array#concat - local.tee $8 + local.tee $7 i32.store offset=36 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $9 + local.tee $8 i32.store - local.get $9 + local.get $8 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18863,9 +19037,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 2 i32.ne @@ -18878,9 +19052,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#get:length i32.const 5 i32.ne @@ -18893,9 +19067,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18909,9 +19083,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18925,9 +19099,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -18941,9 +19115,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 3 call $~lib/array/Array#__get i32.const 46 @@ -18957,9 +19131,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 4 call $~lib/array/Array#__get i32.const 47 @@ -18973,15 +19147,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -18999,12 +19173,12 @@ i32.const 4 i32.const 2768 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=40 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length if i32.const 0 @@ -19015,22 +19189,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 + local.tee $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $~lib/array/Array#concat - local.tee $8 + local.tee $7 i32.store offset=36 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -19043,9 +19217,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length if i32.const 0 @@ -19061,32 +19235,32 @@ i32.const 4 i32.const 2800 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 0 i32.const 3 call $~lib/array/Array#copyWithin@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 2848 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19104,32 +19278,32 @@ i32.const 4 i32.const 2896 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 1 i32.const 3 call $~lib/array/Array#copyWithin@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 2944 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19147,32 +19321,32 @@ i32.const 4 i32.const 2992 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 1 i32.const 2 call $~lib/array/Array#copyWithin@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3040 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19190,32 +19364,32 @@ i32.const 4 i32.const 3088 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 2 i32.const 2 call $~lib/array/Array#copyWithin@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3136 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19233,31 +19407,31 @@ i32.const 4 i32.const 3184 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 - local.get $2 + local.get $0 i32.const 0 i32.const 3 i32.const 4 call $~lib/array/Array#copyWithin - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3232 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19275,31 +19449,31 @@ i32.const 4 i32.const 3280 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 - local.get $2 + local.get $0 i32.const 1 i32.const 3 i32.const 4 call $~lib/array/Array#copyWithin - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3328 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19317,31 +19491,31 @@ i32.const 4 i32.const 3376 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 - local.get $2 + local.get $0 i32.const 1 i32.const 2 i32.const 4 call $~lib/array/Array#copyWithin - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3424 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19359,32 +19533,32 @@ i32.const 4 i32.const 3472 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 0 i32.const -2 call $~lib/array/Array#copyWithin@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3520 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19402,31 +19576,31 @@ i32.const 4 i32.const 3568 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 - local.get $2 + local.get $0 i32.const 0 i32.const -2 i32.const -1 call $~lib/array/Array#copyWithin - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3616 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19444,31 +19618,31 @@ i32.const 4 i32.const 3664 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 - local.get $2 + local.get $0 i32.const -4 i32.const -3 i32.const -2 call $~lib/array/Array#copyWithin - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3712 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19486,31 +19660,31 @@ i32.const 4 i32.const 3760 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 - local.get $2 + local.get $0 i32.const -4 i32.const -3 i32.const -1 call $~lib/array/Array#copyWithin - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3808 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19528,32 +19702,32 @@ i32.const 4 i32.const 3856 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const -4 i32.const -3 call $~lib/array/Array#copyWithin@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3904 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19567,16 +19741,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 42 call $~lib/array/Array#unshift global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -19590,9 +19764,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19606,9 +19780,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -19623,9 +19797,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -19640,9 +19814,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -19657,9 +19831,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -19674,16 +19848,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 41 call $~lib/array/Array#unshift global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 5 i32.ne @@ -19697,9 +19871,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19713,9 +19887,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 41 @@ -19730,9 +19904,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 42 @@ -19747,9 +19921,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 43 @@ -19764,9 +19938,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 3 call $~lib/array/Array#__get i32.const 44 @@ -19781,9 +19955,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 4 call $~lib/array/Array#__get i32.const 45 @@ -19798,7 +19972,7 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -19812,11 +19986,11 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.load offset=12 - local.tee $8 + local.tee $7 i32.const 0 i32.le_s if @@ -19828,34 +20002,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.load offset=4 - local.tee $9 + local.tee $8 i32.load - local.get $9 - local.get $9 + local.get $8 + local.get $8 i32.const 4 i32.add - local.get $8 + local.get $7 i32.const 1 i32.sub - local.tee $8 + local.tee $7 i32.const 2 i32.shl - local.tee $11 + local.tee $10 memory.copy - local.get $9 - local.get $11 + local.get $8 + local.get $10 i32.add i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -19875,9 +20049,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -19891,9 +20065,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19907,9 +20081,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -19924,9 +20098,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -19941,9 +20115,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -19958,9 +20132,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -19975,9 +20149,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#pop global.set $std/array/i global.get $std/array/i @@ -19993,9 +20167,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -20009,9 +20183,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -20025,9 +20199,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -20042,9 +20216,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -20059,9 +20233,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -20080,33 +20254,33 @@ i32.const 4 i32.const 3952 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=52 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#slice@varargs - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 3 i32.const 2 i32.const 4 i32.const 4000 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20119,29 +20293,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 2 i32.const 4 call $~lib/array/Array#slice - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4032 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20154,29 +20328,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 1 i32.const 5 call $~lib/array/Array#slice - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 4 i32.const 2 i32.const 4 i32.const 4064 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20189,24 +20363,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#slice@varargs - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=8 - local.get $8 - local.get $2 + local.get $7 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20219,30 +20393,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const -2 call $~lib/array/Array#slice@varargs - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4112 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20255,29 +20429,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 2 i32.const -1 call $~lib/array/Array#slice - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4144 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20290,29 +20464,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const -3 i32.const -1 call $~lib/array/Array#slice - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4176 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20325,17 +20499,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=8 - local.get $2 + local.get $0 i32.const -1 i32.const -3 call $~lib/array/Array#slice - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#get:length if i32.const 0 @@ -20346,18 +20520,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=8 i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 10 call $~lib/array/Array#slice@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length if i32.const 0 @@ -20369,7 +20543,7 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -20383,59 +20557,59 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.load offset=4 - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.load offset=12 - local.tee $2 + local.tee $0 i32.const 1 i32.gt_u if - local.get $2 + local.get $0 i32.const 1 i32.shr_u - local.set $9 - local.get $2 + local.set $8 + local.get $0 i32.const 1 i32.sub - local.set $2 + local.set $0 loop $while-continue|0 - local.get $4 - local.get $9 + local.get $3 + local.get $8 i32.lt_u if - local.get $8 - local.get $4 + local.get $7 + local.get $3 i32.const 2 i32.shl i32.add - local.tee $10 + local.tee $9 i32.load - local.set $11 - local.get $10 - local.get $8 - local.get $2 - local.get $4 + local.set $10 + local.get $9 + local.get $7 + local.get $0 + local.get $3 i32.sub i32.const 2 i32.shl i32.add - local.tee $10 + local.tee $9 i32.load i32.store + local.get $9 local.get $10 - local.get $11 i32.store - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $while-continue|0 end end @@ -20446,9 +20620,9 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -20462,9 +20636,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -20478,9 +20652,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 44 @@ -20495,9 +20669,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -20512,9 +20686,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 42 @@ -20529,16 +20703,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 43 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 44 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer @@ -20547,37 +20721,37 @@ i32.const 7 i32.const 4208 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 call $~lib/array/Array#reverse - local.tee $2 + local.tee $0 i32.store offset=60 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|0 - local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 local.get $0 + local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - call $~lib/array/Array#get:length local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.sub i32.const 1 i32.sub @@ -20590,10 +20764,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -20603,39 +20777,39 @@ i32.const 7 i32.const 4240 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#reverse - local.tee $2 + local.tee $0 i32.store offset=64 i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|1 - local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 local.get $0 + local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - call $~lib/array/Array#get:length local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.sub i32.const 1 i32.sub @@ -20648,10 +20822,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end @@ -20661,39 +20835,39 @@ i32.const 7 i32.const 4272 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#reverse - local.tee $2 + local.tee $0 i32.store offset=68 i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|2 - local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 local.get $0 + local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - call $~lib/array/Array#get:length local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.sub i32.const 1 i32.sub @@ -20706,10 +20880,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|2 end end @@ -20719,39 +20893,39 @@ i32.const 11 i32.const 4320 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#reverse - local.tee $2 + local.tee $0 i32.store offset=72 i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|3 - local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 local.get $0 + local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - call $~lib/array/Array#get:length local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.sub i32.const 1 i32.sub @@ -20764,10 +20938,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end @@ -20777,39 +20951,39 @@ i32.const 11 i32.const 4368 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#reverse - local.tee $2 + local.tee $0 i32.store offset=76 i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|4 - local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 local.get $0 + local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - call $~lib/array/Array#get:length local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.sub i32.const 1 i32.sub @@ -20822,10 +20996,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end @@ -20835,39 +21009,39 @@ i32.const 11 i32.const 4416 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#reverse - local.tee $2 + local.tee $0 i32.store offset=80 i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|5 - local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 local.get $0 + local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - call $~lib/array/Array#get:length local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.sub i32.const 1 i32.sub @@ -20880,10 +21054,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|5 end end @@ -21090,9 +21264,9 @@ i32.const 9 i32.const 4464 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 local.set $0 @@ -21108,14 +21282,14 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - block $__inlined_func$~lib/array/Array#indexOf$714 - local.get $2 + block $__inlined_func$~lib/array/Array#indexOf$696 + local.get $1 i32.load offset=12 - local.tee $4 + local.tee $3 i32.eqz - local.get $4 + local.get $3 i32.const 0 i32.le_s i32.or @@ -21126,20 +21300,20 @@ global.set $~lib/memory/__stack_pointer i32.const -1 local.set $0 - br $__inlined_func$~lib/array/Array#indexOf$714 + br $__inlined_func$~lib/array/Array#indexOf$696 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.set $2 + local.set $1 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $2 + local.get $1 local.get $0 i32.const 2 i32.shl @@ -21152,7 +21326,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/array/Array#indexOf$714 + br $__inlined_func$~lib/array/Array#indexOf$696 end local.get $0 i32.const 1 @@ -21184,9 +21358,9 @@ i32.const 12 i32.const 4496 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 local.set $0 @@ -21202,14 +21376,14 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - block $__inlined_func$~lib/array/Array#indexOf$715 - local.get $2 + block $__inlined_func$~lib/array/Array#indexOf$697 + local.get $1 i32.load offset=12 - local.tee $4 + local.tee $3 i32.eqz - local.get $4 + local.get $3 i32.const 0 i32.le_s i32.or @@ -21220,20 +21394,20 @@ global.set $~lib/memory/__stack_pointer i32.const -1 local.set $0 - br $__inlined_func$~lib/array/Array#indexOf$715 + br $__inlined_func$~lib/array/Array#indexOf$697 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.set $2 + local.set $1 loop $while-continue|07 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl @@ -21246,7 +21420,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/array/Array#indexOf$715 + br $__inlined_func$~lib/array/Array#indexOf$697 end local.get $0 i32.const 1 @@ -21557,15 +21731,15 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#includes$716 (result i32) + block $__inlined_func$~lib/array/Array#includes$698 (result i32) i32.const 1 i32.const 2 i32.const 9 i32.const 4576 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 local.set $0 @@ -21581,13 +21755,13 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=12 - local.tee $4 + local.tee $3 i32.eqz - local.get $4 + local.get $3 i32.const 0 i32.le_s i32.or @@ -21597,27 +21771,27 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$~lib/array/Array#includes$716 + br $__inlined_func$~lib/array/Array#includes$698 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.set $2 + local.set $1 loop $while-continue|09 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $2 + local.get $1 local.get $0 i32.const 2 i32.shl i32.add f32.load - local.tee $7 - local.get $7 + local.tee $6 + local.get $6 f32.ne if global.get $~lib/memory/__stack_pointer @@ -21625,7 +21799,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1 - br $__inlined_func$~lib/array/Array#includes$716 + br $__inlined_func$~lib/array/Array#includes$698 end local.get $0 i32.const 1 @@ -21649,15 +21823,15 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#includes$717 (result i32) + block $__inlined_func$~lib/array/Array#includes$699 (result i32) i32.const 1 i32.const 3 i32.const 12 i32.const 4608 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 local.set $0 @@ -21673,13 +21847,13 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=12 - local.tee $4 + local.tee $3 i32.eqz - local.get $4 + local.get $3 i32.const 0 i32.le_s i32.or @@ -21689,27 +21863,27 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$~lib/array/Array#includes$717 + br $__inlined_func$~lib/array/Array#includes$699 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.set $2 + local.set $1 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl i32.add f64.load - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 f64.ne if global.get $~lib/memory/__stack_pointer @@ -21717,7 +21891,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1 - br $__inlined_func$~lib/array/Array#includes$717 + br $__inlined_func$~lib/array/Array#includes$699 end local.get $0 i32.const 1 @@ -21832,21 +22006,21 @@ local.get $0 i32.const 0 call $~lib/array/Array#splice@varargs - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 4688 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -21866,12 +22040,12 @@ i32.const 4 i32.const 4736 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -21898,21 +22072,21 @@ i32.const 0 i32.const 0 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 4816 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -21932,12 +22106,12 @@ i32.const 4 i32.const 4848 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -21965,21 +22139,21 @@ local.get $0 i32.const 2 call $~lib/array/Array#splice@varargs - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 3 i32.const 2 i32.const 4 i32.const 4944 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -21999,12 +22173,12 @@ i32.const 4 i32.const 4976 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22031,21 +22205,21 @@ i32.const 2 i32.const 2 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 5056 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22065,12 +22239,12 @@ i32.const 4 i32.const 5088 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22097,21 +22271,21 @@ i32.const 0 i32.const 1 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5168 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22131,12 +22305,12 @@ i32.const 4 i32.const 5200 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22164,21 +22338,21 @@ local.get $0 i32.const -1 call $~lib/array/Array#splice@varargs - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5296 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22198,12 +22372,12 @@ i32.const 4 i32.const 5328 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22231,21 +22405,21 @@ local.get $0 i32.const -2 call $~lib/array/Array#splice@varargs - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 5424 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22265,12 +22439,12 @@ i32.const 4 i32.const 5456 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22297,21 +22471,21 @@ i32.const -2 i32.const 1 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5536 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22331,12 +22505,12 @@ i32.const 4 i32.const 5568 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22363,21 +22537,21 @@ i32.const -7 i32.const 1 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5664 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22397,12 +22571,12 @@ i32.const 4 i32.const 5696 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22429,21 +22603,21 @@ i32.const -2 i32.const -1 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 5792 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22463,12 +22637,12 @@ i32.const 4 i32.const 5824 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22495,21 +22669,21 @@ i32.const 1 i32.const -2 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 5920 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22529,12 +22703,12 @@ i32.const 4 i32.const 5952 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22561,21 +22735,21 @@ i32.const 4 i32.const 0 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 6048 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22595,12 +22769,12 @@ i32.const 4 i32.const 6080 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22627,21 +22801,21 @@ i32.const 7 i32.const 0 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 6176 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22661,12 +22835,12 @@ i32.const 4 i32.const 6208 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22693,21 +22867,21 @@ i32.const 7 i32.const 5 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 6304 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22727,12 +22901,12 @@ i32.const 4 i32.const 6336 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22759,12 +22933,12 @@ local.get $0 i32.const 1 call $~lib/array/Array#splice - local.tee $2 + local.tee $1 i32.store offset=96 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#get:length if i32.const 0 @@ -22794,40 +22968,40 @@ i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store offset=100 - local.get $2 + local.get $1 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 3 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 3 i32.const 4 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 4 i32.const 5 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.store offset=92 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 2 call $~lib/array/Array#splice local.tee $0 @@ -22853,11 +23027,11 @@ local.get $0 i32.const 0 call $~lib/array/Array#__get - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 i32.load i32.const 3 i32.ne @@ -22892,9 +23066,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -22907,9 +23081,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 0 call $~lib/array/Array#__get local.set $0 @@ -22929,9 +23103,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 1 call $~lib/array/Array#__get local.set $0 @@ -22951,9 +23125,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 2 call $~lib/array/Array#__get local.set $0 @@ -22979,27 +23153,27 @@ i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store offset=104 - local.get $2 + local.get $1 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 0 call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.store offset=108 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 @@ -23013,98 +23187,98 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=12 - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 i32.const 0 i32.le_s select - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 1 - local.get $4 - local.get $8 + local.get $3 + local.get $7 i32.sub - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 i32.const 1 i32.gt_s select - local.tee $9 + local.tee $8 i32.const 0 - local.get $9 + local.get $8 i32.const 0 i32.gt_s select - local.tee $9 + local.tee $8 i32.const 2 i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $10 + local.tee $9 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store - local.get $10 + local.get $9 i32.load offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.tee $11 - local.get $8 + local.tee $10 + local.get $7 i32.const 2 i32.shl i32.add - local.tee $12 - local.get $9 + local.tee $11 + local.get $8 i32.const 2 i32.shl memory.copy + local.get $7 local.get $8 - local.get $9 i32.add - local.tee $8 - local.get $4 + local.tee $7 + local.get $3 i32.ne if - local.get $12 local.get $11 - local.get $8 + local.get $10 + local.get $7 i32.const 2 i32.shl i32.add - local.get $4 - local.get $8 + local.get $3 + local.get $7 i32.sub i32.const 2 i32.shl memory.copy end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 - local.get $4 - local.get $9 + local.get $1 + local.get $3 + local.get $8 i32.sub i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store offset=112 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store - local.get $10 + local.get $9 call $~lib/array/Array#get:length i32.const 1 i32.ne @@ -23117,10 +23291,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.const 0 call $~lib/array/Array#__get local.tee $0 @@ -23151,9 +23325,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#get:length i32.const 2 i32.ne @@ -23166,9 +23340,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 0 call $~lib/array/Array#__get if @@ -23180,10 +23354,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 1 call $~lib/array/Array#__get local.tee $0 @@ -24078,9 +24252,9 @@ if global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#pop drop local.get $0 @@ -24121,7 +24295,7 @@ global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 9296 @@ -24141,80 +24315,80 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.load offset=12 - local.tee $8 + local.tee $7 i32.const 2 i32.const 16 i32.const 0 call $~lib/rt/__newArray - local.tee $9 + local.tee $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store - local.get $9 + local.get $8 i32.load offset=4 - local.set $10 + local.set $9 i32.const 0 - local.set $4 + local.set $3 loop $for-loop|012 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $4 - local.get $8 - local.get $2 + local.get $3 + local.get $7 + local.get $1 i32.load offset=12 - local.tee $11 - local.get $8 - local.get $11 + local.tee $10 + local.get $7 + local.get $10 i32.lt_s select i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 - local.get $4 + local.get $3 i32.const 2 i32.shl - local.tee $11 - local.get $2 + local.tee $10 + local.get $1 i32.load offset=4 i32.add i32.load - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 3 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $12 - local.get $4 - local.get $2 + local.get $11 + local.get $3 + local.get $1 i32.const 9296 i32.load call_indirect (type $1) - local.tee $12 + local.tee $11 i32.store offset=12 + local.get $9 local.get $10 - local.get $11 i32.add - local.get $12 + local.get $11 i32.store - local.get $9 - local.get $12 + local.get $8 + local.get $11 i32.const 1 call $~lib/rt/itcms/__link - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $for-loop|012 end end @@ -24222,12 +24396,12 @@ i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=128 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 9328 @@ -24247,72 +24421,72 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.load offset=12 - local.tee $8 + local.tee $7 i32.const 2 i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $9 + local.tee $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store - local.get $9 + local.get $8 i32.load offset=4 - local.set $10 + local.set $9 i32.const 0 - local.set $4 + local.set $3 loop $for-loop|013 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $4 - local.get $8 - local.get $2 + local.get $3 + local.get $7 + local.get $1 i32.load offset=12 - local.tee $11 - local.get $8 - local.get $11 + local.tee $10 + local.get $7 + local.get $10 i32.lt_s select i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 - local.get $4 + local.get $3 i32.const 2 i32.shl - local.tee $11 - local.get $2 + local.tee $10 + local.get $1 i32.load offset=4 i32.add i32.load - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 3 global.set $~argumentsLength + local.get $9 local.get $10 - local.get $11 i32.add - local.get $12 - local.get $4 - local.get $2 + local.get $11 + local.get $3 + local.get $1 i32.const 9328 i32.load call_indirect (type $15) f32.store - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $for-loop|013 end end @@ -24320,12 +24494,12 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=132 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store - local.get $9 + local.get $8 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -24338,9 +24512,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store - local.get $9 + local.get $8 i32.const 0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer @@ -25148,26 +25322,26 @@ i64.const -7046029254386353131 call $~lib/bindings/dom/Math.random i64.reinterpret_f64 - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.eqz select - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.const 33 i64.shr_u i64.xor i64.const -49064778989728563 i64.mul - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.const 33 i64.shr_u i64.xor i64.const -4265267296055464877 i64.mul - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.const 33 i64.shr_u i64.xor @@ -25175,22 +25349,22 @@ global.get $~lib/math/random_state0_64 i64.const -1 i64.xor - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.const 33 i64.shr_u i64.xor i64.const -49064778989728563 i64.mul - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.const 33 i64.shr_u i64.xor i64.const -4265267296055464877 i64.mul - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.const 33 i64.shr_u i64.xor @@ -25207,243 +25381,243 @@ i32.store offset=140 global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=144 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 80 i32.store offset=4 local.get $0 i32.const 0 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=148 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 90 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 90 i32.store offset=4 local.get $0 i32.const 1 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=152 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 95 i32.store offset=4 local.get $0 i32.const 2 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=156 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store offset=4 local.get $0 i32.const 3 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=160 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 80 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 110 i32.store offset=4 local.get $0 i32.const 4 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=164 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 110 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 115 i32.store offset=4 local.get $0 i32.const 5 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=168 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 120 i32.store offset=4 local.get $0 i32.const 6 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=172 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 125 i32.store offset=4 local.get $0 i32.const 7 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=176 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 130 i32.store offset=4 local.get $0 i32.const 8 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=180 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 135 i32.store offset=4 local.get $0 i32.const 9 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=184 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 75 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 140 i32.store offset=4 local.get $0 i32.const 10 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=188 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 140 i32.store offset=4 local.get $0 i32.const 11 - local.get $2 + local.get $1 call $~lib/array/Array#__set local.get $0 global.set $std/array/inputStabArr @@ -25457,243 +25631,243 @@ i32.store offset=192 global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=196 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 95 i32.store offset=4 local.get $0 i32.const 0 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=200 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 125 i32.store offset=4 local.get $0 i32.const 1 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=204 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 130 i32.store offset=4 local.get $0 i32.const 2 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=208 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 140 i32.store offset=4 local.get $0 i32.const 3 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=212 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 75 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 140 i32.store offset=4 local.get $0 i32.const 4 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=216 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 80 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 110 i32.store offset=4 local.get $0 i32.const 5 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=220 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 90 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 90 i32.store offset=4 local.get $0 i32.const 6 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=224 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 80 i32.store offset=4 local.get $0 i32.const 7 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=228 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store offset=4 local.get $0 i32.const 8 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=232 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 120 i32.store offset=4 local.get $0 i32.const 9 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=236 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 135 i32.store offset=4 local.get $0 i32.const 10 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=240 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 110 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 115 i32.store offset=4 local.get $0 i32.const 11 - local.get $2 + local.get $1 call $~lib/array/Array#__set local.get $0 global.set $std/array/outputStabArr @@ -25720,12 +25894,12 @@ i32.const 9 i32.const 10288 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -25759,12 +25933,12 @@ i32.const 9 i32.const 10384 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -25781,10 +25955,10 @@ i32.const 12 i32.const 10448 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store offset=252 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 global.set $~argumentsLength @@ -25806,7 +25980,7 @@ i32.const 10544 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 10544 @@ -25823,14 +25997,14 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.load offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.load offset=12 global.get $~lib/memory/__stack_pointer i32.const 10544 @@ -25845,18 +26019,18 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 8 i32.const 3 i32.const 12 i32.const 10576 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - block $__inlined_func$std/array/isArraysEqual$7 (result i32) + block $__inlined_func$std/array/isArraysEqual$6 (result i32) i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer @@ -25871,48 +26045,48 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#get:length - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store block $folding-inner1 - block $folding-inner01 - local.get $4 + block $folding-inner00 + local.get $3 call $~lib/array/Array#get:length - local.get $8 + local.get $7 i32.ne - br_if $folding-inner01 - local.get $2 - local.get $4 + br_if $folding-inner00 + local.get $1 + local.get $3 i32.eq br_if $folding-inner1 - loop $for-loop|02 + loop $for-loop|01 local.get $0 - local.get $8 + local.get $7 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 local.get $0 call $~lib/array/Array#__get - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 f64.ne if (result i32) global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 local.get $0 call $~lib/array/Array#__get - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 f64.ne else i32.const 0 @@ -25920,9 +26094,9 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 local.get $0 call $~lib/array/Array#__get i64.reinterpret_f64 @@ -25930,9 +26104,9 @@ i64.shr_u i32.wrap_i64 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 local.get $0 call $~lib/array/Array#__get i64.reinterpret_f64 @@ -25940,29 +26114,29 @@ i64.shr_u i32.wrap_i64 i32.ne - br_if $folding-inner01 + br_if $folding-inner00 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 local.get $0 call $~lib/array/Array#__get - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 local.get $0 call $~lib/array/Array#__get - local.get $6 + local.get $5 f64.ne - br_if $folding-inner01 + br_if $folding-inner00 end local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|02 + br $for-loop|01 end end br $folding-inner1 @@ -25972,7 +26146,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isArraysEqual$7 + br $__inlined_func$std/array/isArraysEqual$6 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26041,12 +26215,12 @@ i32.const 4 i32.const 10752 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26135,12 +26309,12 @@ i32.const 8 i32.const 10880 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -26157,7 +26331,7 @@ i32.const 4 i32.const 10928 call $~lib/rt/__newArray - local.tee $4 + local.tee $3 i32.store offset=264 global.get $~lib/memory/__stack_pointer i32.const 1 @@ -26165,7 +26339,7 @@ i32.const 4 i32.const 10960 call $~lib/rt/__newArray - local.tee $8 + local.tee $7 i32.store offset=268 global.get $~lib/memory/__stack_pointer i32.const 2 @@ -26173,7 +26347,7 @@ i32.const 4 i32.const 10992 call $~lib/rt/__newArray - local.tee $9 + local.tee $8 i32.store offset=272 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26181,7 +26355,7 @@ i32.const 4 i32.const 11024 call $~lib/rt/__newArray - local.tee $10 + local.tee $9 i32.store offset=276 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26189,57 +26363,57 @@ i32.const 4 i32.const 11072 call $~lib/rt/__newArray - local.tee $11 + local.tee $10 i32.store offset=280 global.get $~lib/memory/__stack_pointer i32.const 64 call $std/array/createReverseOrderedArray - local.tee $12 + local.tee $11 i32.store offset=284 global.get $~lib/memory/__stack_pointer i32.const 128 call $std/array/createReverseOrderedArray - local.tee $13 + local.tee $12 i32.store offset=288 global.get $~lib/memory/__stack_pointer i32.const 1024 call $std/array/createReverseOrderedArray - local.tee $14 + local.tee $0 i32.store offset=292 global.get $~lib/memory/__stack_pointer i32.const 10000 call $std/array/createReverseOrderedArray - local.tee $0 + local.tee $1 i32.store offset=296 global.get $~lib/memory/__stack_pointer i32.const 512 call $std/array/createRandomOrderedArray - local.tee $2 + local.tee $13 i32.store offset=300 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 11152 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $8 - local.get $4 + local.get $7 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26252,24 +26426,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store - local.get $9 + local.get $8 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 11184 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $9 - local.get $4 + local.get $8 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26282,18 +26456,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store - local.get $10 + local.get $9 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store offset=8 + local.get $9 local.get $10 - local.get $11 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26306,18 +26480,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $11 i32.store - local.get $12 + local.get $11 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $11 i32.store global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store offset=8 - local.get $12 local.get $11 + local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -26330,18 +26504,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $12 i32.store - local.get $13 + local.get $12 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $12 i32.store global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store offset=8 - local.get $13 - local.get $11 + local.get $12 + local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -26354,18 +26528,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $14 + local.get $0 i32.store - local.get $14 + local.get $0 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $14 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store offset=8 - local.get $14 - local.get $11 + local.get $0 + local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -26378,18 +26552,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store offset=8 - local.get $0 - local.get $11 + local.get $1 + local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -26402,9 +26576,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $13 i32.store - local.get $2 + local.get $13 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer i32.const 24 @@ -26455,75 +26629,75 @@ i32.store local.get $0 i32.load offset=12 - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 i32.const 0 i32.le_s select - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $4 - local.get $8 + local.get $3 + local.get $7 i32.sub - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 i32.const 0 i32.gt_s select - local.tee $4 + local.tee $3 i32.const 2 i32.const 23 i32.const 0 call $~lib/rt/__newArray - local.tee $9 + local.tee $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store - local.get $9 + local.get $8 i32.load offset=4 - local.set $10 + local.set $9 global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=4 - local.get $8 + local.get $7 i32.const 2 i32.shl i32.add - local.set $8 + local.set $7 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.const 2 i32.shl - local.set $4 - loop $while-continue|06 + local.set $3 + loop $while-continue|04 local.get $0 - local.get $4 + local.get $3 i32.lt_u if local.get $0 - local.get $10 + local.get $9 i32.add local.get $0 - local.get $8 + local.get $7 i32.add i32.load - local.tee $11 + local.tee $10 i32.store - local.get $9 - local.get $11 + local.get $8 + local.get $10 i32.const 1 call $~lib/rt/itcms/__link local.get $0 i32.const 4 i32.add local.set $0 - br $while-continue|06 + br $while-continue|04 end end global.get $~lib/memory/__stack_pointer @@ -26535,28 +26709,30 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store global.get $~lib/memory/__stack_pointer i32.const 11216 i32.store offset=4 - local.get $9 + local.get $8 i32.const 11216 call $~lib/array/Array#sort local.tee $0 i32.store offset=12 i32.const 1 - local.set $4 + local.set $3 + i32.const 0 + local.set $1 global.get $~lib/memory/__stack_pointer global.get $std/array/inputStabArr - local.tee $2 + local.tee $7 i32.store - local.get $2 + local.get $7 call $~lib/array/Array#get:length - local.set $2 + local.set $7 loop $for-loop|014 local.get $1 - local.get $2 + local.get $7 i32.lt_s if block $for-break0 @@ -26607,7 +26783,7 @@ end if i32.const 0 - local.set $4 + local.set $3 br $for-break0 end local.get $1 @@ -26618,7 +26794,7 @@ end end end - local.get $4 + local.get $3 i32.eqz if i32.const 0 @@ -26679,6 +26855,8 @@ i32.const 11344 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -26712,82 +26890,52 @@ i32.const 16 i32.const 29 call $~lib/rt/itcms/__new - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 + local.tee $7 i32.store - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 32 i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store offset=12 - local.get $2 - local.get $4 + local.get $7 + local.get $8 i32.store - local.get $2 - local.get $4 + local.get $7 + local.get $8 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $4 + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $7 + i32.store offset=8 + local.get $7 i32.const 32 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $7 + i32.store offset=8 + local.get $7 i32.const 2 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store - i32.const 0 - local.set $0 - loop $for-loop|015 + loop $for-loop|06 local.get $0 i32.const 2 i32.lt_s @@ -26795,47 +26943,47 @@ global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/array/Array#constructor - local.tee $4 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $4 + local.get $3 i32.const 0 i32.const 1 local.get $0 i32.sub call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=12 - local.get $2 + local.get $7 local.get $0 - local.get $4 + local.get $3 call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|015 + br $for-loop|06 end end global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store offset=312 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store global.get $~lib/memory/__stack_pointer i32.const 11376 i32.store offset=8 - local.get $2 + local.get $7 i32.const 11376 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -26872,88 +27020,58 @@ i32.const 16 i32.const 32 call $~lib/rt/itcms/__new - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 + local.tee $3 i32.store - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 2048 i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.store offset=12 - local.get $2 - local.get $4 + local.get $3 + local.get $7 i32.store - local.get $2 - local.get $4 + local.get $3 + local.get $7 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $4 + local.get $3 + i32.store offset=8 + local.get $3 + local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $3 + i32.store offset=8 + local.get $3 i32.const 2048 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $3 + i32.store offset=8 + local.get $3 i32.const 512 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store - i32.const 0 - local.set $0 - loop $for-loop|06 - local.get $0 + loop $for-loop|08 + local.get $2 i32.const 512 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -26970,14 +27088,14 @@ i32.const 4 i32.const 31 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $1 i32.store offset=4 - local.get $4 + local.get $1 i32.const 511 - local.get $0 + local.get $2 i32.sub i32.store global.get $~lib/memory/__stack_pointer @@ -26985,32 +27103,32 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $1 i32.store offset=8 + local.get $3 local.get $2 - local.get $0 - local.get $4 + local.get $1 call $~lib/array/Array#__set - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|06 + local.set $2 + br $for-loop|08 end end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=316 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer i32.const 11408 i32.store offset=8 - local.get $2 + local.get $3 i32.const 11408 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -27071,7 +27189,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - block $__inlined_func$std/array/isSorted<~lib/string/String|null>$662 (result i32) + block $__inlined_func$std/array/isSorted<~lib/string/String|null>$643 (result i32) global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 @@ -27081,9 +27199,9 @@ local.get $0 i32.const 11696 call $~lib/array/Array#sort - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer i32.const 11696 @@ -27105,42 +27223,42 @@ i32.const 1 local.set $1 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 call $~lib/array/Array#get:length - local.set $8 - loop $for-loop|07 + local.set $7 + loop $for-loop|069 local.get $1 - local.get $8 + local.get $7 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $4 + local.get $3 local.get $1 i32.const 1 i32.sub call $~lib/array/Array#__get - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $4 + local.get $3 local.get $1 call $~lib/array/Array#__get - local.set $10 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store offset=4 i32.const 2 global.set $~argumentsLength + local.get $8 local.get $9 - local.get $10 i32.const 11696 i32.load call_indirect (type $0) @@ -27152,13 +27270,13 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isSorted<~lib/string/String|null>$662 + br $__inlined_func$std/array/isSorted<~lib/string/String|null>$643 end local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|07 + br $for-loop|069 end end global.get $~lib/memory/__stack_pointer @@ -27184,7 +27302,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 (result i32) + block $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$728 (result i32) global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -27210,367 +27328,121 @@ i32.store local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 i32.store local.get $2 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.ne if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 - end - local.get $0 - local.get $2 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 - end - i32.const 0 - local.set $1 - loop $for-loop|08 - local.get $1 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - local.get $1 - call $~lib/array/Array#__get - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - local.get $1 - call $~lib/array/Array#__get - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $8 - local.get $9 - call $~lib/string/String.__eq - i32.eqz - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|08 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - end - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1184 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $9 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 0 - i32.store - local.get $9 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 1600 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $9 - local.get $1 - i32.store - local.get $9 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 1600 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 400 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - i32.store - i32.const 0 - local.set $4 - loop $for-loop|019 - local.get $4 - i32.const 400 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - call $~lib/math/NativeMath.random - f64.const 32 - f64.mul - i32.trunc_sat_f64_s - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - i32.const 11568 - local.set $0 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$728 + end + local.get $0 + local.get $2 + i32.eq + if global.get $~lib/memory/__stack_pointer - i32.const 11568 - i32.store - i32.const 0 - local.set $1 - loop $for-loop|00 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$728 + end + i32.const 0 + local.set $1 + loop $for-loop|07 + local.get $1 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 local.get $1 - local.get $10 + call $~lib/array/Array#__get + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 + local.get $1 + call $~lib/array/Array#__get + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $7 + local.get $8 + call $~lib/string/String.__eq + i32.eqz + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer if global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - call $~lib/math/NativeMath.random - i32.const 10028 - i32.load - i32.const 1 - i32.shr_u - f64.convert_i32_s - f64.mul - f64.floor - i32.trunc_sat_f64_s - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 10032 - i32.store - block $__inlined_func$~lib/string/String#charAt$737 - local.get $12 - i32.const 10028 - i32.load - i32.const 1 - i32.shr_u - i32.ge_u - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11568 - local.set $2 - br $__inlined_func$~lib/string/String#charAt$737 - end - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - local.get $12 - i32.const 1 - i32.shl - i32.const 10032 - i32.add - i32.load16_u - i32.store16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $0 - local.get $2 - call $~lib/string/String.__concat - local.tee $0 - i32.store - local.get $1 - i32.const 1 + i32.const 12 i32.add - local.set $1 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + i32.const 0 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$728 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|07 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $9 - local.get $4 - local.get $0 - call $~lib/array/Array#__set - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|019 end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + end + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1184 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + call $std/array/createRandomStringArray + local.tee $0 i32.store offset=328 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength @@ -27592,12 +27464,12 @@ i32.const 11728 i32.store global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11728 i32.store offset=8 - local.get $9 + local.get $0 i32.const 11728 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -27629,20 +27501,20 @@ i32.store local.get $0 i32.load offset=4 - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=12 - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 11856 i32.store i32.const 0 local.set $1 i32.const 0 - local.set $4 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -27654,11 +27526,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinBooleanArray$12 - local.get $0 + block $__inlined_func$~lib/util/string/joinBooleanArray$10 + local.get $2 i32.const 1 i32.sub - local.tee $0 + local.tee $7 i32.const 0 i32.lt_s if @@ -27668,19 +27540,19 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinBooleanArray$12 + br $__inlined_func$~lib/util/string/joinBooleanArray$10 end - block $folding-inner07 - local.get $0 + block $folding-inner010 + local.get $7 i32.eqz if i32.const 11792 i32.const 11824 - local.get $8 + local.get $3 i32.load8_u select local.set $2 - br $folding-inner07 + br $folding-inner010 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -27690,34 +27562,34 @@ i32.load i32.const 1 i32.shr_u - local.tee $9 + local.tee $8 i32.const 5 i32.add - local.get $0 + local.get $7 i32.mul i32.const 5 i32.add - local.tee $10 + local.tee $9 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 - loop $for-loop|18 + loop $for-loop|111 local.get $0 - local.get $4 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $4 - local.get $8 + local.get $0 + local.get $3 i32.add i32.load8_u - local.tee $11 + local.tee $10 i32.eqz i32.const 4 i32.add - local.set $12 + local.set $11 local.get $2 local.get $1 i32.const 1 @@ -27725,17 +27597,17 @@ i32.add i32.const 11792 i32.const 11824 - local.get $11 + local.get $10 select - local.get $12 + local.get $11 i32.const 1 i32.shl memory.copy local.get $1 - local.get $12 + local.get $11 i32.add local.set $1 - local.get $9 + local.get $8 if local.get $2 local.get $1 @@ -27743,31 +27615,31 @@ i32.shl i32.add i32.const 11856 - local.get $9 + local.get $8 i32.const 1 i32.shl memory.copy local.get $1 - local.get $9 + local.get $8 i32.add local.set $1 end - local.get $4 + local.get $0 i32.const 1 i32.add - local.set $4 - br $for-loop|18 + local.set $0 + br $for-loop|111 end end - local.get $0 - local.get $8 + local.get $3 + local.get $7 i32.add i32.load8_u local.tee $0 i32.eqz i32.const 4 i32.add - local.set $4 + local.set $3 local.get $2 local.get $1 i32.const 1 @@ -27777,15 +27649,15 @@ i32.const 11824 local.get $0 select - local.get $4 + local.get $3 i32.const 1 i32.shl memory.copy local.get $1 - local.get $4 + local.get $3 i32.add local.tee $0 - local.get $10 + local.get $9 i32.lt_s if global.get $~lib/memory/__stack_pointer @@ -27795,13 +27667,13 @@ local.get $0 call $~lib/string/String#substring local.set $2 - br $folding-inner07 + br $folding-inner010 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinBooleanArray$12 + br $__inlined_func$~lib/util/string/joinBooleanArray$10 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -28111,7 +27983,7 @@ i32.const 4 i32.const 13984 call $~lib/rt/__newArray - local.tee $4 + local.tee $3 i32.store offset=360 global.get $~lib/memory/__stack_pointer local.get $0 @@ -28177,9 +28049,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $4 + local.get $3 call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer @@ -28256,12 +28128,14 @@ i32.const 11 i32.const 14256 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 i32.const 0 local.set $0 + i32.const 0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28274,7 +28148,7 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -28288,17 +28162,17 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=4 - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=12 - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 11856 i32.store @@ -28313,11 +28187,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$741 - local.get $1 + block $__inlined_func$~lib/util/string/joinIntegerArray$721 + local.get $2 i32.const 1 i32.sub - local.tee $1 + local.tee $7 i32.const 0 i32.lt_s if @@ -28327,12 +28201,12 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinIntegerArray$741 + br $__inlined_func$~lib/util/string/joinIntegerArray$721 end - local.get $1 + local.get $7 i32.eqz if - local.get $4 + local.get $3 i32.load16_u call $~lib/util/number/utoa32 local.set $2 @@ -28340,7 +28214,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$741 + br $__inlined_func$~lib/util/string/joinIntegerArray$721 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -28353,7 +28227,7 @@ local.tee $8 i32.const 10 i32.add - local.get $1 + local.get $7 i32.mul i32.const 10 i32.add @@ -28364,18 +28238,18 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 - loop $for-loop|03 + loop $for-loop|02 local.get $1 - local.get $3 - i32.gt_s + local.get $7 + i32.lt_s if local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $4 local.get $3 + local.get $1 i32.const 1 i32.shl i32.add @@ -28401,21 +28275,20 @@ i32.add local.set $0 end - local.get $3 + local.get $1 i32.const 1 i32.add - local.set $3 - br $for-loop|03 + local.set $1 + br $for-loop|02 end end - local.get $9 local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $4 - local.get $1 + local.get $3 + local.get $7 i32.const 1 i32.shl i32.add @@ -28424,7 +28297,8 @@ local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $9 + i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $2 @@ -28437,7 +28311,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$741 + br $__inlined_func$~lib/util/string/joinIntegerArray$721 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -28472,14 +28346,14 @@ i32.const 39 i32.const 14336 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 i32.const 0 local.set $0 i32.const 0 - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28492,7 +28366,7 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -28506,17 +28380,17 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=4 - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=12 - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 11856 i32.store @@ -28531,11 +28405,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$742 - local.get $1 + block $__inlined_func$~lib/util/string/joinIntegerArray$722 + local.get $2 i32.const 1 i32.sub - local.tee $1 + local.tee $7 i32.const 0 i32.lt_s if @@ -28545,12 +28419,12 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinIntegerArray$742 + br $__inlined_func$~lib/util/string/joinIntegerArray$722 end - local.get $1 + local.get $7 i32.eqz if - local.get $4 + local.get $3 i32.load16_s call $~lib/util/number/itoa32 local.set $2 @@ -28558,7 +28432,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$742 + br $__inlined_func$~lib/util/string/joinIntegerArray$722 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -28571,7 +28445,7 @@ local.tee $8 i32.const 11 i32.add - local.get $1 + local.get $7 i32.mul i32.const 11 i32.add @@ -28582,18 +28456,18 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 - loop $for-loop|05 + loop $for-loop|04 local.get $1 - local.get $3 - i32.gt_s + local.get $7 + i32.lt_s if local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $4 local.get $3 + local.get $1 i32.const 1 i32.shl i32.add @@ -28619,21 +28493,20 @@ i32.add local.set $0 end - local.get $3 + local.get $1 i32.const 1 i32.add - local.set $3 - br $for-loop|05 + local.set $1 + br $for-loop|04 end end - local.get $9 local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $4 - local.get $1 + local.get $3 + local.get $7 i32.const 1 i32.shl i32.add @@ -28642,7 +28515,8 @@ local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $9 + i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $2 @@ -28655,7 +28529,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$742 + br $__inlined_func$~lib/util/string/joinIntegerArray$722 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -28823,7 +28697,7 @@ i32.store local.get $0 i32.load offset=4 - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -28834,9 +28708,9 @@ i32.const 11856 i32.store i32.const 0 - local.set $0 + local.set $1 i32.const 0 - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -28848,11 +28722,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$13 + block $__inlined_func$~lib/util/string/joinIntegerArray$11 local.get $2 i32.const 1 i32.sub - local.tee $4 + local.tee $7 i32.const 0 i32.lt_s if @@ -28862,17 +28736,17 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinIntegerArray$13 + br $__inlined_func$~lib/util/string/joinIntegerArray$11 end - block $folding-inner09 - local.get $4 + block $folding-inner012 + local.get $7 i32.eqz if block $__inlined_func$~lib/util/number/itoa64$4 (result i32) - local.get $1 + local.get $3 i64.load i64.extend32_s - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28884,7 +28758,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $5 + local.get $4 i64.eqz if global.get $~lib/memory/__stack_pointer @@ -28895,65 +28769,65 @@ br $__inlined_func$~lib/util/number/itoa64$4 end i64.const 0 - local.get $5 + local.get $4 i64.sub - local.get $5 - local.get $5 + local.get $4 + local.get $4 i64.const 63 i64.shr_u i32.wrap_i64 i32.const 1 i32.shl - local.tee $0 + local.tee $1 select - local.tee $5 + local.tee $4 i64.const 4294967295 i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.wrap_i64 - local.tee $1 + local.tee $2 i32.const 100000 i32.lt_u if (result i32) - local.get $1 + local.get $2 i32.const 100 i32.lt_u if (result i32) - local.get $1 + local.get $2 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $1 + local.get $2 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $1 + local.get $2 i32.const 1000 i32.ge_u i32.add end else - local.get $1 + local.get $2 i32.const 10000000 i32.lt_u if (result i32) - local.get $1 + local.get $2 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $1 + local.get $2 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $1 + local.get $2 i32.const 100000000 i32.ge_u i32.add @@ -28962,89 +28836,89 @@ local.tee $3 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add i32.const 2 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store local.get $0 - local.get $2 - i32.add local.get $1 + i32.add + local.get $2 local.get $3 call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i64.const 1000000000000000 i64.lt_u if (result i32) - local.get $5 + local.get $4 i64.const 1000000000000 i64.lt_u if (result i32) - local.get $5 + local.get $4 i64.const 100000000000 i64.ge_u i32.const 10 i32.add - local.get $5 + local.get $4 i64.const 10000000000 i64.ge_u i32.add else - local.get $5 + local.get $4 i64.const 100000000000000 i64.ge_u i32.const 13 i32.add - local.get $5 + local.get $4 i64.const 10000000000000 i64.ge_u i32.add end else - local.get $5 + local.get $4 i64.const 100000000000000000 i64.lt_u if (result i32) - local.get $5 + local.get $4 i64.const 10000000000000000 i64.ge_u i32.const 16 i32.add else - local.get $5 + local.get $4 i64.const -8446744073709551616 i64.ge_u i32.const 18 i32.add - local.get $5 + local.get $4 i64.const 1000000000000000000 i64.ge_u i32.add end end - local.tee $1 + local.tee $2 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add i32.const 2 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store local.get $0 - local.get $2 - i32.add - local.get $5 local.get $1 + i32.add + local.get $4 + local.get $2 call $~lib/util/number/utoa64_dec_lut end - local.get $0 + local.get $1 if - local.get $2 + local.get $0 i32.const 45 i32.store16 end @@ -29052,10 +28926,10 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 end local.set $2 - br $folding-inner09 + br $folding-inner012 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -29068,7 +28942,7 @@ local.tee $8 i32.const 21 i32.add - local.get $4 + local.get $7 i32.mul i32.const 21 i32.add @@ -29079,30 +28953,30 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 - loop $for-loop|010 - local.get $3 - local.get $4 + loop $for-loop|015 + local.get $0 + local.get $7 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $1 local.get $3 + local.get $0 i32.const 3 i32.shl i32.add i64.load call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 + local.set $1 local.get $8 if local.get $2 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -29111,35 +28985,35 @@ i32.const 1 i32.shl memory.copy - local.get $0 + local.get $1 local.get $8 i32.add - local.set $0 + local.set $1 end - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 - br $for-loop|010 + local.set $0 + br $for-loop|015 end end - local.get $9 local.get $2 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $1 - local.get $4 + local.get $3 + local.get $7 i32.const 3 i32.shl i32.add i64.load call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add local.tee $0 - i32.gt_s + local.get $9 + i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $2 @@ -29148,13 +29022,13 @@ local.get $0 call $~lib/string/String#substring local.set $2 - br $folding-inner09 + br $folding-inner012 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$13 + br $__inlined_func$~lib/util/string/joinIntegerArray$11 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -29324,7 +29198,7 @@ i32.const 0 i32.const 20 memory.fill - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$14 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$12 local.get $1 i32.const 1 i32.sub @@ -29338,7 +29212,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$14 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$12 end local.get $1 i32.eqz @@ -29363,7 +29237,7 @@ i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$14 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$12 end i32.const 11568 local.set $2 @@ -29377,8 +29251,8 @@ i32.load i32.const 1 i32.shr_u - local.set $4 - loop $for-loop|011 + local.set $7 + loop $for-loop|016 local.get $0 local.get $1 i32.lt_s @@ -29413,7 +29287,7 @@ local.tee $2 i32.store offset=8 end - local.get $4 + local.get $7 if global.get $~lib/memory/__stack_pointer local.get $2 @@ -29432,7 +29306,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|011 + br $for-loop|016 end end global.get $~lib/memory/__stack_pointer @@ -29577,7 +29451,7 @@ i32.const 0 i32.const 20 memory.fill - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$15 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$13 local.get $1 i32.const 1 i32.sub @@ -29591,7 +29465,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$15 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$13 end local.get $1 i32.eqz @@ -29616,7 +29490,7 @@ i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$15 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$13 end i32.const 11568 local.set $2 @@ -29630,8 +29504,8 @@ i32.load i32.const 1 i32.shr_u - local.set $4 - loop $for-loop|016 + local.set $7 + loop $for-loop|017 local.get $0 local.get $1 i32.lt_s @@ -29666,7 +29540,7 @@ local.tee $2 i32.store offset=8 end - local.get $4 + local.get $7 if global.get $~lib/memory/__stack_pointer local.get $2 @@ -29685,7 +29559,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|016 + br $for-loop|017 end end global.get $~lib/memory/__stack_pointer @@ -29834,7 +29708,7 @@ i32.const 0 i32.const 20 memory.fill - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$16 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$14 local.get $1 i32.const 1 i32.sub @@ -29848,7 +29722,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$16 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$14 end local.get $1 i32.eqz @@ -29873,7 +29747,7 @@ i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$16 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$14 end i32.const 11568 local.set $2 @@ -29887,8 +29761,8 @@ i32.load i32.const 1 i32.shr_u - local.set $4 - loop $for-loop|017 + local.set $7 + loop $for-loop|018 local.get $0 local.get $1 i32.lt_s @@ -29923,7 +29797,7 @@ local.tee $2 i32.store offset=8 end - local.get $4 + local.get $7 if global.get $~lib/memory/__stack_pointer local.get $2 @@ -29942,7 +29816,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|017 + br $for-loop|018 end end global.get $~lib/memory/__stack_pointer @@ -30165,7 +30039,7 @@ i32.store local.get $1 i32.load offset=4 - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer local.get $1 i32.store @@ -30176,20 +30050,20 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|023 + loop $for-loop|021 local.get $0 local.get $8 i32.lt_s if - local.get $3 + local.get $7 local.get $0 i32.const 2 i32.shl i32.add i32.load - local.tee $4 + local.tee $3 if (result i32) - local.get $4 + local.get $3 i32.load offset=12 else i32.const 0 @@ -30201,7 +30075,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|023 + br $for-loop|021 end end global.get $~lib/memory/__stack_pointer @@ -30238,14 +30112,14 @@ i32.const 0 local.set $0 i32.const 0 - local.set $4 - loop $for-loop|124 - local.get $4 + local.set $3 + loop $for-loop|122 + local.get $3 local.get $8 i32.lt_s if + local.get $7 local.get $3 - local.get $4 i32.const 2 i32.shl i32.add @@ -30268,16 +30142,16 @@ i32.add local.set $0 end - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - br $for-loop|124 + local.set $3 + br $for-loop|122 end end i32.const 0 local.set $0 - loop $for-loop|225 + loop $for-loop|223 local.get $0 local.get $1 i32.lt_s @@ -30295,7 +30169,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|225 + br $for-loop|223 end end global.get $~lib/memory/__stack_pointer @@ -30480,21 +30354,21 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $3 + local.tee $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store - local.get $3 + local.get $7 i32.load offset=4 local.set $8 i32.const 0 - local.set $4 - loop $for-loop|026 + local.set $3 + loop $for-loop|024 global.get $~lib/memory/__stack_pointer local.get $1 i32.store - local.get $4 + local.get $3 local.get $2 local.get $1 i32.load offset=12 @@ -30509,7 +30383,7 @@ local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.const 2 i32.shl local.tee $9 @@ -30526,7 +30400,7 @@ global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $10 - local.get $4 + local.get $3 local.get $1 i32.const 15984 i32.load @@ -30538,15 +30412,15 @@ i32.add local.get $10 i32.store - local.get $3 + local.get $7 local.get $10 i32.const 1 call $~lib/rt/itcms/__link - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - br $for-loop|026 + local.set $3 + br $for-loop|024 end end global.get $~lib/memory/__stack_pointer @@ -30554,9 +30428,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store - local.get $3 + local.get $7 call $~lib/array/Array<~lib/array/Array>#flat local.tee $0 i32.store offset=440 @@ -30651,12 +30525,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|028 + loop $while-continue|026 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|028 + br $while-continue|026 end end end diff --git a/tests/compiler/std/arraybuffer.debug.wat b/tests/compiler/std/arraybuffer.debug.wat index ed31bd6c6a..e849478fb8 100644 --- a/tests/compiler/std/arraybuffer.debug.wat +++ b/tests/compiler/std/arraybuffer.debug.wat @@ -3024,30 +3024,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -3069,7 +3045,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3078,7 +3054,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -3091,7 +3067,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3099,7 +3075,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -3215,30 +3191,6 @@ local.tee $this i32.store end - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $~lib/dataview/DataView#set:buffer - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $~lib/dataview/DataView#set:dataStart - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $~lib/dataview/DataView#set:byteLength local.get $byteLength i32.const 1073741820 i32.gt_u diff --git a/tests/compiler/std/arraybuffer.release.wat b/tests/compiler/std/arraybuffer.release.wat index 19c0a0192a..8418550f29 100644 --- a/tests/compiler/std/arraybuffer.release.wat +++ b/tests/compiler/std/arraybuffer.release.wat @@ -113,7 +113,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$185 + block $__inlined_func$~lib/rt/itcms/Object#unlink$179 local.get $0 i32.load offset=4 i32.const -4 @@ -137,7 +137,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$185 + br $__inlined_func$~lib/rt/itcms/Object#unlink$179 end local.get $0 i32.load offset=8 @@ -1779,27 +1779,6 @@ local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 i32.const 1073741820 local.get $1 i32.shr_u @@ -1820,10 +1799,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=12 @@ -1835,13 +1814,13 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $2 i32.store offset=8 @@ -2347,27 +2326,6 @@ local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 local.get $0 diff --git a/tests/compiler/std/dataview.debug.wat b/tests/compiler/std/dataview.debug.wat index 9b9e4e7e62..0a9c2964f8 100644 --- a/tests/compiler/std/dataview.debug.wat +++ b/tests/compiler/std/dataview.debug.wat @@ -2671,30 +2671,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -2716,7 +2692,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2725,7 +2701,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -2738,7 +2714,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -2746,7 +2722,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -2865,30 +2841,6 @@ local.tee $this i32.store end - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $~lib/dataview/DataView#set:buffer - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $~lib/dataview/DataView#set:dataStart - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $~lib/dataview/DataView#set:byteLength local.get $byteLength i32.const 1073741820 i32.gt_u diff --git a/tests/compiler/std/dataview.release.wat b/tests/compiler/std/dataview.release.wat index d1290df97c..d19ffaa90e 100644 --- a/tests/compiler/std/dataview.release.wat +++ b/tests/compiler/std/dataview.release.wat @@ -121,7 +121,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$221 + block $__inlined_func$~lib/rt/itcms/Object#unlink$217 local.get $0 i32.load offset=4 i32.const -4 @@ -145,7 +145,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$221 + br $__inlined_func$~lib/rt/itcms/Object#unlink$217 end local.get $0 i32.load offset=8 @@ -1705,24 +1705,6 @@ local.tee $3 i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 local.get $0 @@ -3039,11 +3021,11 @@ i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -3083,200 +3065,175 @@ i32.const 1456 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/typedarray/Uint8Array#constructor (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - br $__inlined_func$~lib/typedarray/Uint8Array#constructor - end - br $folding-inner1 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end - local.tee $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=12 + local.get $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 246 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 i32.const 224 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 i32.const 88 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 i32.const 159 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 i32.const 130 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 5 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 6 i32.const 67 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 7 i32.const 95 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.load - local.tee $2 + local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=8 - local.get $2 - local.get $3 local.get $1 + local.get $3 + local.get $0 i32.load offset=8 call $~lib/dataview/DataView#constructor - local.tee $0 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3291,9 +3248,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3308,9 +3265,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3325,9 +3282,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3342,9 +3299,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3359,9 +3316,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3376,9 +3333,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3393,9 +3350,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3410,9 +3367,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3427,9 +3384,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3444,9 +3401,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getFloat64 f64.const 7936550095674706383278551e126 @@ -3460,9 +3417,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getFloat64 f64.const -411777475818852546741639e241 @@ -3476,9 +3433,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getInt8 i32.const -10 @@ -3492,9 +3449,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getInt8 i32.const -32 @@ -3508,9 +3465,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 call $~lib/dataview/DataView#getInt8 i32.const 88 @@ -3524,9 +3481,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 call $~lib/dataview/DataView#getInt8 i32.const -97 @@ -3540,9 +3497,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 call $~lib/dataview/DataView#getInt8 i32.const -126 @@ -3556,9 +3513,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 call $~lib/dataview/DataView#getInt8 i32.const 101 @@ -3572,9 +3529,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 call $~lib/dataview/DataView#getInt8 i32.const 67 @@ -3588,9 +3545,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 7 call $~lib/dataview/DataView#getInt8 i32.const 95 @@ -3604,9 +3561,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3623,9 +3580,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3642,9 +3599,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3661,9 +3618,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3680,9 +3637,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3699,9 +3656,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3718,9 +3675,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3737,9 +3694,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3756,9 +3713,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3775,9 +3732,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3794,9 +3751,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3813,9 +3770,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3832,9 +3789,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3851,9 +3808,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3870,9 +3827,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3887,9 +3844,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3904,9 +3861,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3921,9 +3878,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3938,9 +3895,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3955,9 +3912,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3972,9 +3929,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3989,9 +3946,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4006,9 +3963,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4023,9 +3980,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4040,9 +3997,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getInt64 i64.const 6864441868736323830 @@ -4056,9 +4013,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getInt64 i64.const -657428103485373601 @@ -4072,9 +4029,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getUint8 i32.const 246 @@ -4088,9 +4045,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getUint8 i32.const 224 @@ -4104,9 +4061,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 call $~lib/dataview/DataView#getUint8 i32.const 88 @@ -4120,9 +4077,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 call $~lib/dataview/DataView#getUint8 i32.const 159 @@ -4136,9 +4093,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 call $~lib/dataview/DataView#getUint8 i32.const 130 @@ -4152,9 +4109,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 call $~lib/dataview/DataView#getUint8 i32.const 101 @@ -4168,9 +4125,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 call $~lib/dataview/DataView#getUint8 i32.const 67 @@ -4184,9 +4141,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 7 call $~lib/dataview/DataView#getUint8 i32.const 95 @@ -4200,9 +4157,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4219,9 +4176,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4238,9 +4195,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4257,9 +4214,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4276,9 +4233,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4295,9 +4252,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4314,9 +4271,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4333,9 +4290,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4352,9 +4309,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4371,9 +4328,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4390,9 +4347,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4409,9 +4366,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4428,9 +4385,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4447,9 +4404,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4466,9 +4423,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4483,9 +4440,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4500,9 +4457,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4517,9 +4474,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4534,9 +4491,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4551,9 +4508,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4568,9 +4525,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4585,9 +4542,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4602,9 +4559,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4619,9 +4576,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4636,9 +4593,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getUint64 i64.const 6864441868736323830 @@ -4652,9 +4609,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getUint64 i64.const -657428103485373601 @@ -4668,16 +4625,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 f32.const 1.5976661625240943e-18 i32.const 1 call $~lib/dataview/DataView#setFloat32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -4692,16 +4649,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 f32.const 1976281973381696323584 i32.const 0 call $~lib/dataview/DataView#setFloat32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -4716,16 +4673,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 f64.const -1094252199637739024055454e124 i32.const 1 call $~lib/dataview/DataView#setFloat64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getFloat64 f64.const -1094252199637739024055454e124 @@ -4739,16 +4696,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 f64.const 6.022586634778589e-103 i32.const 0 call $~lib/dataview/DataView#setFloat64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getFloat64 f64.const 6.022586634778589e-103 @@ -4762,7 +4719,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4771,14 +4728,14 @@ global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 i32.load offset=8 i32.eqz if @@ -4790,9 +4747,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 i32.load offset=4 i32.const 108 i32.store8 @@ -4801,9 +4758,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getInt8 i32.const 108 @@ -4817,16 +4774,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const -13360 i32.const 1 call $~lib/dataview/DataView#setInt16 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -4843,16 +4800,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 14689 i32.const 0 call $~lib/dataview/DataView#setInt16 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4869,16 +4826,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1204680201 i32.const 1 call $~lib/dataview/DataView#setInt32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4893,16 +4850,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 660673230 i32.const 0 call $~lib/dataview/DataView#setInt32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4917,16 +4874,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i64.const -3290739641816099749 i32.const 1 call $~lib/dataview/DataView#setInt64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getInt64 i64.const -3290739641816099749 @@ -4940,16 +4897,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i64.const 8178932412950708047 i32.const 0 call $~lib/dataview/DataView#setInt64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getInt64 i64.const 8178932412950708047 @@ -4963,7 +4920,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4972,14 +4929,14 @@ global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 i32.load offset=8 i32.eqz if @@ -4991,9 +4948,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 i32.load offset=4 i32.const 238 i32.store8 @@ -5002,9 +4959,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getUint8 i32.const 238 @@ -5018,16 +4975,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 58856 i32.const 1 call $~lib/dataview/DataView#setUint16 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -5044,16 +5001,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 60400 i32.const 0 call $~lib/dataview/DataView#setUint16 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -5070,16 +5027,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const -846805744 i32.const 1 call $~lib/dataview/DataView#setUint32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -5094,16 +5051,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const -1510791631 i32.const 0 call $~lib/dataview/DataView#setUint32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -5118,16 +5075,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i64.const 2334704782995986958 i32.const 1 call $~lib/dataview/DataView#setUint64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getUint64 i64.const 2334704782995986958 @@ -5141,16 +5098,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i64.const -7123186897289856329 i32.const 0 call $~lib/dataview/DataView#setUint64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getUint64 i64.const -7123186897289856329 @@ -5165,12 +5122,12 @@ end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.load - local.tee $1 + local.tee $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -5179,14 +5136,14 @@ global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 i32.const 20 i32.sub i32.load offset=16 @@ -5195,23 +5152,23 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 local.get $2 call $~lib/dataview/DataView#constructor - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -5222,9 +5179,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.load offset=8 i32.const 8 i32.ne diff --git a/tests/compiler/std/date.debug.wat b/tests/compiler/std/date.debug.wat index f67503e5e9..1f7888e9e8 100644 --- a/tests/compiler/std/date.debug.wat +++ b/tests/compiler/std/date.debug.wat @@ -3854,30 +3854,6 @@ local.get $2 local.get $epochMillis call $~lib/date/Date#set:epochMillis - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/date/Date#set:year - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/date/Date#set:month - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/date/Date#set:day local.get $epochMillis call $~lib/date/invalidDate if diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index 4b706f0de3..8000608a6e 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -504,7 +504,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$376 + block $__inlined_func$~lib/rt/itcms/Object#unlink$373 local.get $0 i32.load offset=4 i32.const -4 @@ -528,7 +528,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$376 + br $__inlined_func$~lib/rt/itcms/Object#unlink$373 end local.get $0 i32.load offset=8 @@ -2548,24 +2548,6 @@ local.get $1 local.get $0 i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 local.get $0 i64.const -8640000000000000 i64.lt_s @@ -3310,7 +3292,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store - block $__inlined_func$~lib/string/String#padStart$384 + block $__inlined_func$~lib/string/String#padStart$381 i32.const 1868 i32.load i32.const -2 @@ -3329,7 +3311,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String#padStart$384 + br $__inlined_func$~lib/string/String#padStart$381 end global.get $~lib/memory/__stack_pointer local.get $5 @@ -3766,7 +3748,7 @@ global.get $~lib/memory/__stack_pointer local.get $4 i32.store - block $__inlined_func$~lib/string/String#concat$385 + block $__inlined_func$~lib/string/String#concat$382 local.get $4 i32.const 20 i32.sub @@ -3785,7 +3767,7 @@ global.set $~lib/memory/__stack_pointer i32.const 3456 local.set $1 - br $__inlined_func$~lib/string/String#concat$385 + br $__inlined_func$~lib/string/String#concat$382 end global.get $~lib/memory/__stack_pointer local.get $1 @@ -5120,7 +5102,7 @@ i32.load16_u local.set $0 loop $while-continue|0 - block $__inlined_func$~lib/util/string/isSpace$164 (result i32) + block $__inlined_func$~lib/util/string/isSpace$161 (result i32) local.get $0 i32.const 128 i32.or @@ -5135,7 +5117,7 @@ local.get $0 i32.const 5760 i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace$164 + br_if $__inlined_func$~lib/util/string/isSpace$161 drop i32.const 1 local.get $0 @@ -5143,7 +5125,7 @@ i32.add i32.const 10 i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace$164 + br_if $__inlined_func$~lib/util/string/isSpace$161 drop block $break|0 block $case0|0 @@ -5178,7 +5160,7 @@ br $break|0 end i32.const 1 - br $__inlined_func$~lib/util/string/isSpace$164 + br $__inlined_func$~lib/util/string/isSpace$161 end i32.const 0 end @@ -5426,7 +5408,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$363 + block $__inlined_func$~lib/rt/itcms/__renew$360 i32.const 1073741820 local.get $2 i32.const 1 @@ -5469,7 +5451,7 @@ i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$363 + br $__inlined_func$~lib/rt/itcms/__renew$360 end local.get $3 local.get $4 @@ -6173,7 +6155,7 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store - block $__inlined_func$~lib/string/String#charCodeAt$386 + block $__inlined_func$~lib/string/String#charCodeAt$383 local.get $3 local.get $2 i32.const 20 @@ -6189,7 +6171,7 @@ global.set $~lib/memory/__stack_pointer i32.const -1 local.set $0 - br $__inlined_func$~lib/string/String#charCodeAt$386 + br $__inlined_func$~lib/string/String#charCodeAt$383 end local.get $2 local.get $3 @@ -6440,7 +6422,7 @@ call $~lib/util/string/strtol local.set $6 global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/string/String#substr$387 (result i32) + block $__inlined_func$~lib/string/String#substr$384 (result i32) global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=44 @@ -6503,7 +6485,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 3456 - br $__inlined_func$~lib/string/String#substr$387 + br $__inlined_func$~lib/string/String#substr$384 end global.get $~lib/memory/__stack_pointer local.get $8 @@ -6553,7 +6535,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store - block $__inlined_func$~lib/string/String#padEnd$388 + block $__inlined_func$~lib/string/String#padEnd$385 i32.const 1868 i32.load i32.const -2 @@ -6569,7 +6551,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String#padEnd$388 + br $__inlined_func$~lib/string/String#padEnd$385 end global.get $~lib/memory/__stack_pointer i32.const 6 diff --git a/tests/compiler/std/map.debug.wat b/tests/compiler/std/map.debug.wat index da8784b71b..88ecea767b 100644 --- a/tests/compiler/std/map.debug.wat +++ b/tests/compiler/std/map.debug.wat @@ -2369,16 +2369,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2499,6 +2489,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2649,16 +2649,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -2687,16 +2677,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -2748,6 +2728,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2867,6 +2857,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -2895,16 +2895,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3026,6 +3016,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3086,16 +3086,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -3147,6 +3137,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -3175,16 +3175,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3305,6 +3295,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3365,16 +3365,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -3426,6 +3416,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -3454,16 +3454,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3585,6 +3575,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3645,16 +3645,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -3706,6 +3696,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -3734,16 +3734,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3863,6 +3853,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3923,16 +3923,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -3984,6 +3974,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -4012,16 +4012,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) (local $h i32) @@ -4158,6 +4148,16 @@ local.get $taggedNext i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4218,16 +4218,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -4279,6 +4269,16 @@ local.get $taggedNext i32.store offset=16 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -4307,16 +4307,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) (local $h i32) @@ -4453,6 +4443,16 @@ local.get $taggedNext i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4513,16 +4513,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -4574,6 +4564,16 @@ local.get $taggedNext i32.store offset=16 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -4602,16 +4602,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key f32) (result i32) (local $key|1 i32) (local $len i32) @@ -4732,6 +4722,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4792,16 +4792,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -4853,6 +4843,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -4881,16 +4881,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key f64) (result i32) (local $key|1 i64) (local $h i32) @@ -5028,6 +5018,16 @@ local.get $taggedNext i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -5088,16 +5088,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -5149,6 +5139,16 @@ local.get $taggedNext i32.store offset=16 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/rt/itcms/__collect i32.const 0 drop @@ -5820,22 +5820,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -6449,38 +6433,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 0 @@ -6510,7 +6462,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -6519,7 +6471,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -6532,7 +6484,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -6540,7 +6492,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -6548,7 +6500,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -6906,38 +6858,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -6967,7 +6887,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -6976,7 +6896,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -6989,7 +6909,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -6997,7 +6917,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -7005,7 +6925,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -7298,22 +7218,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -7400,22 +7304,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -9507,22 +9395,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -10138,38 +10010,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 0 @@ -10199,7 +10039,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10208,7 +10048,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -10221,7 +10061,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -10229,7 +10069,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -10237,7 +10077,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -10633,22 +10473,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12183,22 +12007,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12797,53 +12605,21 @@ global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength + i64.const 0 + i64.store offset=8 local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end local.get $length i32.const 1073741820 i32.const 1 @@ -12873,7 +12649,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -12882,7 +12658,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -12895,7 +12671,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -12903,7 +12679,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -12911,7 +12687,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -13307,22 +13083,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -14855,22 +14615,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -15486,38 +15230,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 1 @@ -15547,7 +15259,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -15556,7 +15268,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -15569,7 +15281,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -15577,7 +15289,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -15585,7 +15297,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -15981,22 +15693,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -18694,22 +18390,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -19321,38 +19001,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -19382,7 +19030,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -19391,7 +19039,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -19404,7 +19052,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -19412,7 +19060,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -19420,7 +19068,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -19816,22 +19464,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -21362,22 +20994,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -21977,50 +21593,18 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ + i64.const 0 + i64.store offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end local.get $length i32.const 1073741820 i32.const 3 @@ -22050,7 +21634,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -22059,7 +21643,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -22072,7 +21656,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -22080,7 +21664,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -22088,7 +21672,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -22484,22 +22068,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -24039,22 +23607,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -24666,38 +24218,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -24727,7 +24247,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -24736,7 +24256,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -24749,7 +24269,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -24757,7 +24277,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -24765,7 +24285,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -25161,22 +24681,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -26716,22 +26220,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -27343,38 +26831,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -27404,7 +26860,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -27413,7 +26869,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -27426,7 +26882,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -27434,7 +26890,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -27442,7 +26898,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -27838,22 +27294,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -29393,22 +28833,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -30020,38 +29444,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -30081,7 +29473,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -30090,7 +29482,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -30103,7 +29495,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -30111,7 +29503,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -30119,7 +29511,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -30515,22 +29907,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/map.release.wat b/tests/compiler/std/map.release.wat index 4148a7ac94..9c3ea4e7c8 100644 --- a/tests/compiler/std/map.release.wat +++ b/tests/compiler/std/map.release.wat @@ -134,7 +134,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$1422 + block $__inlined_func$~lib/rt/itcms/Object#unlink$1346 local.get $0 i32.load offset=4 i32.const -4 @@ -158,7 +158,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$1422 + br $__inlined_func$~lib/rt/itcms/Object#unlink$1346 end local.get $0 i32.load offset=8 @@ -2478,7 +2478,7 @@ select local.set $1 end - block $__inlined_func$~lib/rt/itcms/__renew$1377 + block $__inlined_func$~lib/rt/itcms/__renew$1299 local.get $4 i32.const 20 i32.sub @@ -2496,7 +2496,7 @@ i32.store offset=16 local.get $4 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew$1377 + br $__inlined_func$~lib/rt/itcms/__renew$1299 end local.get $1 local.get $3 @@ -2671,33 +2671,6 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=12 local.get $0 i32.const 268435455 i32.gt_u @@ -2722,10 +2695,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 @@ -2737,19 +2710,19 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 local.get $1 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 local.get $1 local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 local.get $1 local.get $0 i32.store offset=12 @@ -3025,18 +2998,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -3207,7 +3168,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1378" + block $"__inlined_func$~lib/map/Map#find$1301" loop $while-continue|0 local.get $3 if @@ -3231,7 +3192,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1378" + br $"__inlined_func$~lib/map/Map#find$1301" end local.get $4 i32.const -2 @@ -4246,6 +4207,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -4278,78 +4240,66 @@ i32.const 24 i32.const 4 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -4360,19 +4310,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4384,12 +4334,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -4401,17 +4351,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -4424,17 +4374,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4446,12 +4396,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -4464,19 +4414,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4488,12 +4438,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -4505,17 +4455,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -4528,196 +4478,174 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store - local.get $7 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $8 + block $"__inlined_func$~lib/map/Map#keys$3" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 i32.load offset=8 - i32.const 1 - i32.and - i32.eqz + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=16 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + local.get $8 + i32.const 1073741820 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $8 - i32.load8_s - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $8 + local.get $8 + i32.const 8 + i32.le_u + select + local.tee $1 i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $9 + local.get $5 + i32.store + local.get $9 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $8 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 12 + i32.mul + i32.add + local.tee $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + local.get $1 + i32.load8_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + br $"__inlined_func$~lib/map/Map#keys$3" end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 call $"~lib/map/Map#values" - local.tee $0 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4738,67 +4666,55 @@ i32.const 24 i32.const 7 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -4806,15 +4722,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 - local.get $7 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4828,10 +4744,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -4843,30 +4759,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=4 i32.add i32.load8_s - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 - local.get $2 + local.get $1 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $"~lib/map/Map#has" i32.eqz if @@ -4878,10 +4794,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $6 + local.get $2 + local.get $7 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -4895,33 +4811,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 local.get $5 + i32.store offset=4 local.get $5 + local.get $6 + local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 call $"~lib/map/Map#set" - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -4949,17 +4865,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4971,12 +4887,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -4989,16 +4905,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -5008,17 +4924,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -5031,17 +4947,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -5052,19 +4968,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -5076,16 +4992,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -5095,17 +5011,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -5118,14 +5034,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" if i32.const 0 @@ -5757,7 +5673,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1383" + block $"__inlined_func$~lib/map/Map#find$1306" loop $while-continue|0 local.get $3 if @@ -5781,7 +5697,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1383" + br $"__inlined_func$~lib/map/Map#find$1306" end local.get $4 i32.const -2 @@ -6259,6 +6175,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -6291,78 +6208,66 @@ i32.const 24 i32.const 9 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -6373,19 +6278,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6397,12 +6302,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -6414,17 +6319,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -6437,17 +6342,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6459,12 +6364,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -6477,19 +6382,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6501,12 +6406,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -6518,17 +6423,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -6541,35 +6446,178 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + block $"__inlined_func$~lib/map/Map#keys$5" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=8 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=16 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + local.get $8 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $8 + local.get $8 + i32.const 8 + i32.le_u + select + local.tee $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $9 + local.get $5 + i32.store + local.get $9 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $8 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 12 + i32.mul + i32.add + local.tee $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + local.get $1 + i32.load8_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + br $"__inlined_func$~lib/map/Map#keys$5" + end + br $folding-inner1 + end + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 + local.get $2 + call $"~lib/map/Map#values" + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -6580,238 +6628,61 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 10 + i32.const 24 + i32.const 11 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=4 - local.get $7 - i32.const 0 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=8 + local.get $5 + local.get $6 i32.store - local.get $7 - i32.const 0 + local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 + local.get $5 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 + i32.const 3 i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 8 local.get $6 + i32.store offset=8 + local.get $5 local.get $6 - i32.const 8 - i32.le_u - select - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 + local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=4 - local.get $7 - local.get $6 + local.get $5 + i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $8 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $8 - i32.load8_u - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - call $"~lib/map/Map#values" - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $4 - local.get $5 - i32.store - local.get $4 - local.get $5 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $4 - local.get $5 - i32.store offset=8 - local.get $4 local.get $5 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 4 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -6819,15 +6690,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 - local.get $7 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6841,10 +6712,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -6856,30 +6727,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=4 i32.add i32.load8_u - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 - local.get $2 + local.get $1 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $"~lib/map/Map#has" i32.eqz if @@ -6891,10 +6762,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $6 + local.get $2 + local.get $7 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -6908,33 +6779,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 local.get $5 + i32.store offset=4 local.get $5 + local.get $6 + local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 call $"~lib/map/Map#set" - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -6962,17 +6833,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6984,12 +6855,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -7002,16 +6873,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -7021,17 +6892,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -7044,17 +6915,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -7065,19 +6936,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -7089,16 +6960,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -7108,17 +6979,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -7131,14 +7002,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" if i32.const 0 @@ -7947,7 +7818,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1388" + block $"__inlined_func$~lib/map/Map#find$1311" loop $while-continue|0 local.get $3 if @@ -7971,7 +7842,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1388" + br $"__inlined_func$~lib/map/Map#find$1311" end local.get $4 i32.const -2 @@ -8448,6 +8319,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -8480,78 +8352,66 @@ i32.const 24 i32.const 12 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -8562,19 +8422,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -8586,12 +8446,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -8603,17 +8463,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -8626,17 +8486,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -8648,12 +8508,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -8666,19 +8526,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -8690,12 +8550,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -8707,17 +8567,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -8730,198 +8590,176 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store - local.get $7 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.store offset=4 - local.get $7 - local.get $0 - i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $8 + block $"__inlined_func$~lib/map/Map#keys$7" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 i32.load offset=8 - i32.const 1 - i32.and - i32.eqz + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=16 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + local.get $8 + i32.const 536870910 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $8 - i32.load16_s - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $8 + local.get $8 + i32.const 8 + i32.le_u + select + i32.const 1 + i32.shl + local.tee $1 i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $9 + local.get $5 + i32.store + local.get $9 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $8 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 12 + i32.mul + i32.add + local.tee $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + local.get $1 + i32.load16_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + br $"__inlined_func$~lib/map/Map#keys$7" end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 call $"~lib/map/Map#values" - local.tee $0 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -8942,67 +8780,55 @@ i32.const 24 i32.const 14 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -9010,15 +8836,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 - local.get $7 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -9032,10 +8858,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -9047,32 +8873,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $7 + local.get $0 i32.load offset=4 - local.get $2 + local.get $4 i32.const 1 i32.shl i32.add i32.load16_s - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 - local.get $2 + local.get $1 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $"~lib/map/Map#has" i32.eqz if @@ -9084,10 +8910,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $6 + local.get $2 + local.get $7 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -9101,33 +8927,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 local.get $5 + i32.store offset=4 local.get $5 + local.get $6 + local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 call $"~lib/map/Map#set" - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -9155,17 +8981,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -9177,12 +9003,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -9195,16 +9021,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -9214,17 +9040,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -9237,17 +9063,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -9258,19 +9084,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -9282,16 +9108,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -9301,17 +9127,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -9324,14 +9150,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" if i32.const 0 @@ -9963,7 +9789,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1393" + block $"__inlined_func$~lib/map/Map#find$1316" loop $while-continue|0 local.get $3 if @@ -9987,7 +9813,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1393" + br $"__inlined_func$~lib/map/Map#find$1316" end local.get $4 i32.const -2 @@ -10465,6 +10291,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -10497,78 +10324,66 @@ i32.const 24 i32.const 15 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -10579,19 +10394,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -10603,12 +10418,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -10620,17 +10435,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -10643,17 +10458,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -10665,12 +10480,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -10683,19 +10498,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -10707,12 +10522,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -10724,17 +10539,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -10747,198 +10562,176 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store - local.get $7 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $8 + block $"__inlined_func$~lib/map/Map#keys$9" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 i32.load offset=8 - i32.const 1 - i32.and - i32.eqz + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=16 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + local.get $8 + i32.const 536870910 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $8 - i32.load16_u - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $8 + local.get $8 + i32.const 8 + i32.le_u + select + i32.const 1 + i32.shl + local.tee $1 i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $9 + local.get $5 + i32.store + local.get $9 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $8 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 12 + i32.mul + i32.add + local.tee $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + local.get $1 + i32.load16_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $9 + br $"__inlined_func$~lib/map/Map#keys$9" end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 call $"~lib/map/Map#values" - local.tee $0 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -10959,67 +10752,55 @@ i32.const 24 i32.const 17 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -11027,15 +10808,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 - local.get $7 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -11049,10 +10830,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -11064,32 +10845,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $7 + local.get $0 i32.load offset=4 - local.get $2 + local.get $4 i32.const 1 i32.shl i32.add i32.load16_u - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 - local.get $2 + local.get $1 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $"~lib/map/Map#has" i32.eqz if @@ -11101,10 +10882,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $6 + local.get $2 + local.get $7 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -11118,33 +10899,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 local.get $5 + i32.store offset=4 local.get $5 + local.get $6 + local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 call $"~lib/map/Map#set" - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -11172,17 +10953,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -11194,12 +10975,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -11212,16 +10993,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -11231,17 +11012,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -11254,17 +11035,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -11275,19 +11056,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -11299,16 +11080,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -11318,17 +11099,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -11341,14 +11122,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" if i32.const 0 @@ -13367,6 +13148,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -13399,78 +13181,66 @@ i32.const 24 i32.const 18 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 4 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -13481,19 +13251,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -13505,12 +13275,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -13522,17 +13292,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -13545,17 +13315,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -13567,12 +13337,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -13585,19 +13355,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -13609,12 +13379,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -13626,221 +13396,199 @@ call $~lib/builtins/abort unreachable end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $"~lib/map/Map#get:size" - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 19 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store - local.get $7 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $8 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $8 - i32.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 + local.get $1 i32.const 1 i32.add - local.set $3 - br $for-loop|00 + local.set $1 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length + local.get $2 + i32.store offset=4 + local.get $2 + call $"~lib/map/Map#get:size" + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + block $"__inlined_func$~lib/map/Map#keys$11" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=8 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=16 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 19 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + local.get $8 + i32.const 268435455 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $8 + local.get $8 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $9 + local.get $5 + i32.store + local.get $9 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $8 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 12 + i32.mul + i32.add + local.tee $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + local.get $1 + i32.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + br $"__inlined_func$~lib/map/Map#keys$11" + end + br $folding-inner1 + end + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 call $"~lib/map/Map#values" - local.tee $0 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -13861,67 +13609,55 @@ i32.const 24 i32.const 20 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -13929,15 +13665,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 - local.get $7 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -13951,10 +13687,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -13966,32 +13702,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $7 + local.get $0 i32.load offset=4 - local.get $2 + local.get $4 i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 - local.get $2 + local.get $1 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $"~lib/map/Map#has" i32.eqz if @@ -14003,10 +13739,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $6 + local.get $2 + local.get $7 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -14019,34 +13755,34 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $5 + i32.store offset=4 local.get $5 + local.get $6 + local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 call $"~lib/map/Map#set" - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -14074,17 +13810,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -14096,12 +13832,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -14114,16 +13850,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -14133,17 +13869,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -14156,17 +13892,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -14177,19 +13913,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -14201,16 +13937,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -14220,17 +13956,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -14243,14 +13979,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" if i32.const 0 @@ -15201,7 +14937,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1403" + block $"__inlined_func$~lib/map/Map#find$1326" loop $while-continue|0 local.get $3 if @@ -15223,7 +14959,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1403" + br $"__inlined_func$~lib/map/Map#find$1326" end local.get $4 i32.const -2 @@ -15804,6 +15540,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -15843,15 +15580,15 @@ i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 local.get $1 - local.get $5 + local.get $6 i32.store local.get $1 - local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 @@ -15864,15 +15601,15 @@ i32.store offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 local.get $1 - local.get $5 + local.get $6 i32.store offset=8 local.get $1 - local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 @@ -15881,18 +15618,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -16068,211 +15793,191 @@ call $~lib/builtins/abort unreachable end - local.get $2 - i64.const 1 - i64.add - local.set $2 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $"~lib/map/Map#get:size" - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $7 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=12 - local.get $7 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $7 - local.get $7 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl - local.tee $9 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $8 - local.get $4 - i32.store - local.get $8 - local.get $4 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $4 - i32.store offset=4 + local.get $2 + i64.const 1 + i64.add + local.set $2 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $1 i32.store offset=4 - local.get $8 - local.get $9 - i32.store offset=8 + local.get $1 + call $"~lib/map/Map#get:size" + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $1 i32.store offset=4 - local.get $8 - local.get $7 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - loop $for-loop|00 - local.get $3 - local.get $7 - i32.lt_s - if - local.get $6 - local.get $3 - i32.const 4 - i32.shl - i32.add - local.tee $4 - i32.load offset=12 - i32.const 1 - i32.and - i32.eqz + block $"__inlined_func$~lib/map/Map#keys$19" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $10 + i32.store + local.get $5 + i32.const 134217727 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - local.get $4 - i64.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $5 + local.get $5 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $6 i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $10 + local.get $7 + i32.store + local.get $10 + local.get $7 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $6 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $5 + i32.lt_s + if + local.get $8 + local.get $3 + i32.const 4 + i32.shl + i32.add + local.tee $6 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + local.get $6 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + br $"__inlined_func$~lib/map/Map#keys$19" end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 @@ -16280,7 +15985,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 call $"~lib/map/Map#values" - local.tee $0 + local.tee $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16301,85 +16006,71 @@ i32.const 24 i32.const 23 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $7 i32.store offset=8 - local.get $4 - local.get $5 + local.get $6 + local.get $7 i32.store - local.get $4 - local.get $5 + local.get $6 + local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $7 i32.store offset=8 - local.get $4 - local.get $5 + local.get $6 + local.get $7 i32.store offset=8 - local.get $4 - local.get $5 + local.get $6 + local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" local.tee $5 i32.store offset=20 - i32.const 0 - local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=4 - local.get $8 + local.get $0 call $~lib/array/Array#get:length - local.get $3 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -16393,10 +16084,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store - local.get $3 - local.get $8 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -16408,11 +16099,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store - local.get $8 + local.get $0 i32.load offset=4 - local.get $3 + local.get $4 i32.const 3 i32.shl i32.add @@ -16423,12 +16114,12 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=4 - local.get $0 local.get $3 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 @@ -16448,7 +16139,7 @@ local.get $1 i32.store offset=4 local.get $1 - local.get $6 + local.get $7 i32.const 20 i32.sub i64.extend_i32_s @@ -16463,9 +16154,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 local.get $2 local.get $2 call $"~lib/map/Map#set" @@ -16473,23 +16164,23 @@ local.get $5 i32.store offset=4 local.get $5 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $6 - local.get $6 + local.tee $7 + local.get $7 call $"~lib/map/Map#set" - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -17453,7 +17144,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1408" + block $"__inlined_func$~lib/map/Map#find$1331" loop $while-continue|0 local.get $3 if @@ -17475,7 +17166,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1408" + br $"__inlined_func$~lib/map/Map#find$1331" end local.get $4 i32.const -2 @@ -17977,6 +17668,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -18016,15 +17708,15 @@ i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 local.get $1 - local.get $5 + local.get $6 i32.store local.get $1 - local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 @@ -18037,15 +17729,15 @@ i32.store offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 local.get $1 - local.get $5 + local.get $6 i32.store offset=8 local.get $1 - local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 @@ -18054,18 +17746,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -18264,188 +17944,168 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 - i32.load offset=16 - local.set $7 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 25 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=12 - local.get $7 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $7 - local.get $7 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl - local.tee $9 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $8 - local.get $4 - i32.store - local.get $8 - local.get $4 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $4 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 i32.store offset=4 - local.get $8 - local.get $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $7 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - loop $for-loop|00 - local.get $3 - local.get $7 - i32.lt_s - if + block $"__inlined_func$~lib/map/Map#keys$27" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 25 + call $~lib/rt/itcms/__new + local.tee $10 + i32.store + local.get $5 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $5 + local.get $5 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $6 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $10 + local.get $7 + i32.store + local.get $10 + local.get $7 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 local.get $6 - local.get $3 - i32.const 4 - i32.shl + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.tee $4 - i32.load offset=12 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - local.get $4 - i64.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + global.set $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $5 + i32.lt_s + if + local.get $8 + local.get $3 + i32.const 4 + i32.shl + i32.add + local.tee $6 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + local.get $6 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end end - local.get $3 - i32.const 1 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $10 + br $"__inlined_func$~lib/map/Map#keys$27" end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 @@ -18453,7 +18113,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 call $"~lib/map/Map#values" - local.tee $0 + local.tee $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -18474,85 +18134,71 @@ i32.const 24 i32.const 26 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $7 i32.store offset=8 - local.get $4 - local.get $5 + local.get $6 + local.get $7 i32.store - local.get $4 - local.get $5 + local.get $6 + local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $7 i32.store offset=8 - local.get $4 - local.get $5 + local.get $6 + local.get $7 i32.store offset=8 - local.get $4 - local.get $5 + local.get $6 + local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" local.tee $5 i32.store offset=20 - i32.const 0 - local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=4 - local.get $8 + local.get $0 call $~lib/array/Array#get:length - local.get $3 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -18566,10 +18212,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store - local.get $3 - local.get $8 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -18581,11 +18227,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store - local.get $8 + local.get $0 i32.load offset=4 - local.get $3 + local.get $4 i32.const 3 i32.shl i32.add @@ -18596,12 +18242,12 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=4 - local.get $0 local.get $3 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 @@ -18621,7 +18267,7 @@ local.get $1 i32.store offset=4 local.get $1 - local.get $6 + local.get $7 i32.const 20 i32.sub i64.extend_i32_s @@ -18636,9 +18282,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 local.get $2 local.get $2 call $"~lib/map/Map#set" @@ -18646,23 +18292,23 @@ local.get $5 i32.store offset=4 local.get $5 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $6 - local.get $6 + local.tee $7 + local.get $7 call $"~lib/map/Map#set" - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -19488,8 +19134,8 @@ (func $"~lib/map/Map#keys" (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 f32) + (local $3 f32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -19497,11 +19143,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -19510,14 +19156,14 @@ i32.store local.get $0 i32.load offset=8 - local.set $3 + local.set $4 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -19525,7 +19171,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -19536,36 +19182,9 @@ i32.const 16 i32.const 28 call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.tee $2 i32.store local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 i32.const 268435455 i32.gt_u if @@ -19578,8 +19197,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 + local.get $6 + local.get $6 i32.const 8 i32.le_u select @@ -19587,52 +19206,54 @@ i32.shl local.tee $0 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 + call $~lib/rt/itcms/__new + local.tee $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 i32.store offset=12 - local.get $6 + local.get $2 local.get $7 i32.store - local.get $6 + local.get $2 local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 local.get $5 + local.get $6 i32.lt_s if - local.get $3 - local.get $2 + local.get $4 + local.get $5 i32.const 12 i32.mul i32.add @@ -19643,16 +19264,16 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $7 f32.load - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19660,19 +19281,19 @@ global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $0 - local.get $6 + local.get $1 + local.get $2 i32.load offset=12 i32.ge_u if - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -19683,8 +19304,8 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.get $0 + local.get $2 + local.get $1 i32.const 1 i32.add local.tee $7 @@ -19692,46 +19313,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 local.get $7 i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - local.get $4 + local.get $3 f32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $2 + local.get $5 i32.const 1 i32.add - local.set $2 + local.set $5 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 - local.get $1 + local.get $2 + local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 return end i32.const 34688 @@ -20342,18 +19963,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -20631,18 +20240,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -21654,8 +21251,8 @@ (func $"~lib/map/Map#keys" (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 f64) + (local $3 f64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -21663,11 +21260,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -21676,14 +21273,14 @@ i32.store local.get $0 i32.load offset=8 - local.set $3 + local.set $4 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -21691,7 +21288,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -21702,36 +21299,9 @@ i32.const 16 i32.const 31 call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.tee $2 i32.store local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 i32.const 134217727 i32.gt_u if @@ -21744,8 +21314,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 + local.get $6 + local.get $6 i32.const 8 i32.le_u select @@ -21755,50 +21325,52 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 i32.store offset=12 - local.get $6 + local.get $2 local.get $7 i32.store - local.get $6 + local.get $2 local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 local.get $5 + local.get $6 i32.lt_s if - local.get $3 - local.get $2 + local.get $4 + local.get $5 i32.const 4 i32.shl i32.add @@ -21809,16 +21381,16 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $7 f64.load - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21826,19 +21398,19 @@ global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $0 - local.get $6 + local.get $1 + local.get $2 i32.load offset=12 i32.ge_u if - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -21849,8 +21421,8 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.get $0 + local.get $2 + local.get $1 i32.const 1 i32.add local.tee $7 @@ -21858,46 +21430,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 local.get $7 i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 i32.load offset=4 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - local.get $4 + local.get $3 f64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $2 + local.get $5 i32.const 1 i32.add - local.set $2 + local.set $5 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 - local.get $1 + local.get $2 + local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 return end i32.const 34688 @@ -22007,7 +21579,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1418" + block $"__inlined_func$~lib/map/Map#find$1342" loop $while-continue|0 local.get $3 if @@ -22029,7 +21601,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1418" + br $"__inlined_func$~lib/map/Map#find$1342" end local.get $4 i32.const -2 @@ -22611,18 +22183,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -22900,18 +22460,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/set.debug.wat b/tests/compiler/std/set.debug.wat index b643b683f8..ab082ec36f 100644 --- a/tests/compiler/std/set.debug.wat +++ b/tests/compiler/std/set.debug.wat @@ -2364,16 +2364,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2485,6 +2475,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2603,16 +2603,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2725,6 +2715,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2785,16 +2785,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2906,6 +2896,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2966,16 +2966,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3088,6 +3078,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3148,16 +3148,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3268,6 +3258,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3328,16 +3328,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3448,6 +3438,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3508,16 +3508,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) (local $h i32) @@ -3645,6 +3635,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3705,16 +3705,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) (local $h i32) @@ -3842,6 +3832,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3902,16 +3902,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key f32) (result i32) (local $key|1 i32) (local $len i32) @@ -4023,6 +4013,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4083,16 +4083,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key f64) (result i32) (local $key|1 i64) (local $h i32) @@ -4221,6 +4211,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4795,22 +4795,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -5360,38 +5344,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 0 @@ -5421,7 +5373,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -5430,7 +5382,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -5443,7 +5395,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -5451,7 +5403,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -5459,7 +5411,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -6646,22 +6598,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -7203,48 +7139,16 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end local.get $length i32.const 1073741820 i32.const 0 @@ -7274,7 +7178,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -7283,7 +7187,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -7296,7 +7200,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -7304,7 +7208,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -7312,7 +7216,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -8380,22 +8284,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -8945,38 +8833,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 1 @@ -9006,7 +8862,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -9015,7 +8871,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -9028,7 +8884,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -9036,7 +8892,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -9044,7 +8900,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -10112,22 +9968,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -10679,38 +10519,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 1 @@ -10740,7 +10548,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10749,7 +10557,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -10762,7 +10570,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -10770,7 +10578,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -10778,7 +10586,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -11846,22 +11654,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12409,38 +12201,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -12470,7 +12230,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -12479,7 +12239,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -12492,7 +12252,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -12500,7 +12260,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -12508,7 +12268,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -13576,22 +13336,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -14125,52 +13869,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end local.get $length i32.const 1073741820 i32.const 2 @@ -14200,7 +13912,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -14209,7 +13921,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -14222,7 +13934,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -14230,7 +13942,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -14238,7 +13950,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -15306,22 +15018,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -15869,38 +15565,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -15930,7 +15594,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -15939,7 +15603,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -15952,7 +15616,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -15960,7 +15624,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -15968,7 +15632,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -17037,22 +16701,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -17600,38 +17248,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -17661,7 +17277,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -17670,7 +17286,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -17683,7 +17299,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -17691,7 +17307,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -17699,7 +17315,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -18768,22 +18384,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -19331,38 +18931,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -19392,7 +18960,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -19401,7 +18969,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -19414,7 +18982,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -19422,7 +18990,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -19430,7 +18998,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -20499,22 +20067,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -21062,38 +20614,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -21123,7 +20643,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -21132,7 +20652,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -21145,7 +20665,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -21153,7 +20673,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -21161,7 +20681,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ diff --git a/tests/compiler/std/set.release.wat b/tests/compiler/std/set.release.wat index 2a2f9d8ff2..2574d56619 100644 --- a/tests/compiler/std/set.release.wat +++ b/tests/compiler/std/set.release.wat @@ -125,7 +125,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$904 + block $__inlined_func$~lib/rt/itcms/Object#unlink$846 local.get $0 i32.load offset=4 i32.const -4 @@ -149,7 +149,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$904 + br $__inlined_func$~lib/rt/itcms/Object#unlink$846 end local.get $0 i32.load offset=8 @@ -1840,18 +1840,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -2470,7 +2458,7 @@ select local.set $1 end - block $__inlined_func$~lib/rt/itcms/__renew$893 + block $__inlined_func$~lib/rt/itcms/__renew$833 local.get $4 i32.const 20 i32.sub @@ -2488,7 +2476,7 @@ i32.store offset=16 local.get $4 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew$893 + br $__inlined_func$~lib/rt/itcms/__renew$833 end local.get $1 local.get $3 @@ -2933,6 +2921,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -3078,246 +3067,224 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $6 - local.get $7 - i32.store - local.get $6 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.tee $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - local.get $7 - i32.load8_s - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $0 - i32.store offset=12 - i32.const 0 - local.set $2 - loop $for-loop|2 + block $__inlined_func$~lib/set/Set#values$2 (result i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 local.get $1 - local.get $6 - local.get $2 - call $~lib/array/Array#__get - call $~lib/set/Set#has - i32.eqz + i32.store + local.get $1 + i32.load offset=16 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $3 + i32.const 1073741820 + i32.gt_u if - i32.const 0 - i32.const 1568 - i32.const 24 - i32.const 5 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $6 - local.get $2 - call $~lib/array/Array#__get - call $~lib/set/Set#add - local.get $2 + i32.store offset=12 + local.get $7 + local.get $0 + i32.store + local.get $7 + local.get $0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $6 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $6 + i32.load8_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/set/Set#values$2 + end + br $folding-inner1 + end + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $2 + i32.store offset=12 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + call $~lib/array/Array#get:length + local.get $4 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 24 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $2 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + call $~lib/set/Set#add + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -3587,18 +3554,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -4229,6 +4184,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -4374,213 +4330,191 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $6 - local.get $7 - i32.store - local.get $6 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.tee $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - local.get $7 - i32.load8_u - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 + block $__inlined_func$~lib/set/Set#values$3 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $3 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $7 + local.get $0 + i32.store + local.get $7 + local.get $0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $6 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $6 + i32.load8_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/set/Set#values$3 + end + br $folding-inner1 + end + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store offset=12 - i32.const 0 - local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=4 - local.get $6 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=16 local.get $1 - local.get $6 - local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -4593,27 +4527,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 local.get $0 - local.get $6 + i32.store offset=16 local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -4883,18 +4817,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -5705,6 +5627,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -5850,215 +5773,193 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $6 - local.get $7 - i32.store - local.get $6 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add + block $__inlined_func$~lib/set/Set#values$4 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 9 + call $~lib/rt/itcms/__new local.tee $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz + i32.store + local.get $3 + i32.const 536870910 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - local.get $7 - i32.load16_s - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select i32.const 1 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $7 + local.get $0 + i32.store + local.get $7 + local.get $0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $2 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $6 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $6 + i32.load16_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/set/Set#values$4 end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store offset=12 - i32.const 0 - local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=4 - local.get $6 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=16 local.get $1 - local.get $6 - local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -6071,27 +5972,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 local.get $0 - local.get $6 + i32.store offset=16 local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -6361,18 +6262,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -7005,6 +6894,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -7150,215 +7040,193 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $6 - local.get $7 - i32.store - local.get $6 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add + block $__inlined_func$~lib/set/Set#values$5 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 11 + call $~lib/rt/itcms/__new local.tee $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz + i32.store + local.get $3 + i32.const 536870910 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - local.get $7 - i32.load16_u - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select i32.const 1 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $7 + local.get $0 + i32.store + local.get $7 + local.get $0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $2 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $6 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $6 + i32.load16_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/set/Set#values$5 end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store offset=12 - i32.const 0 - local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=4 - local.get $6 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=16 local.get $1 - local.get $6 - local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -7371,27 +7239,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 local.get $0 - local.get $6 + i32.store offset=16 local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -7661,18 +7529,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -8478,6 +8334,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -8623,215 +8480,193 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 - i32.const 0 - i32.store - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $6 - local.get $7 - i32.store - local.get $6 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add + block $__inlined_func$~lib/set/Set#values$6 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 13 + call $~lib/rt/itcms/__new local.tee $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz + i32.store + local.get $3 + i32.const 268435455 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - local.get $7 - i32.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $8 i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $7 + local.get $0 + i32.store + local.get $7 + local.get $0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $2 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $6 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $6 + i32.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/set/Set#values$6 end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store offset=12 - i32.const 0 - local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=4 - local.get $6 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=16 local.get $1 - local.get $6 - local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -8844,27 +8679,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 local.get $0 - local.get $6 + i32.store offset=16 local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -9134,18 +8969,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -9846,6 +9669,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -9991,215 +9815,193 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $6 - local.get $7 - i32.store - local.get $6 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 - local.get $5 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add + block $__inlined_func$~lib/set/Set#values$7 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 15 + call $~lib/rt/itcms/__new local.tee $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz + i32.store + local.get $3 + i32.const 268435455 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - local.get $7 - i32.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $7 + local.get $0 + i32.store + local.get $7 + local.get $0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $6 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $6 + i32.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end end - local.get $2 - i32.const 1 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $2 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/set/Set#values$7 end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store offset=12 - i32.const 0 - local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=4 - local.get $6 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=16 local.get $1 - local.get $6 - local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -10212,27 +10014,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 local.get $0 - local.get $6 + i32.store offset=16 local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -10502,18 +10304,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -11451,6 +11241,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -11596,213 +11387,191 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 17 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl - local.tee $9 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $8 - local.get $7 - i32.store - local.get $8 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 i32.store offset=4 - local.get $8 - local.get $6 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 4 + block $__inlined_func$~lib/set/Set#values$12 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 17 + call $~lib/rt/itcms/__new + local.tee $10 + i32.store + local.get $4 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $4 + local.get $4 + i32.const 8 + i32.le_u + select + i32.const 3 i32.shl - i32.add local.tee $7 - i32.load offset=8 i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - local.get $7 - i64.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 + local.get $10 + local.get $8 + i32.store + local.get $10 + local.get $8 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=4 + loop $for-loop|00 + local.get $3 + local.get $4 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 4 + i32.shl + i32.add + local.tee $7 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + local.get $7 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|00 + end end - local.get $3 - i32.const 1 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $10 + br $__inlined_func$~lib/set/Set#values$12 end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $3 i32.store offset=12 - i32.const 0 - local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=4 - local.get $8 + local.get $0 call $~lib/array/Array#get:length - local.get $3 + local.get $5 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=16 local.get $1 - local.get $8 - local.get $3 + local.get $0 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -11815,27 +11584,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=16 local.get $0 - local.get $8 + i32.store offset=16 local.get $3 + local.get $0 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=4 - local.get $0 + local.get $3 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -12105,18 +11874,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12870,6 +12627,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -12973,255 +12731,233 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - local.get $1 - local.get $2 - call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $2 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i64.const 1 - i64.add - local.set $2 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/set/Set#get:size - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 19 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 + i32.store offset=4 + local.get $1 + local.get $2 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i64.const 1 + i64.add + local.set $2 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $1 i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 134217727 - i32.gt_u + local.get $1 + call $~lib/set/Set#get:size + i32.const 100 + i32.ne if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl - local.tee $9 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $8 - local.get $7 - i32.store - local.get $8 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $1 i32.store offset=4 - local.get $8 - local.get $6 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 4 - i32.shl - i32.add - local.tee $7 + block $__inlined_func$~lib/set/Set#values$17 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 i32.load offset=8 - i32.const 1 - i32.and - i32.eqz + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 19 + call $~lib/rt/itcms/__new + local.tee $10 + i32.store + local.get $4 + i32.const 134217727 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - local.get $7 - i64.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $4 + local.get $4 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $7 i32.const 1 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 + local.get $10 + local.get $8 + i32.store + local.get $10 + local.get $8 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=4 + loop $for-loop|00 + local.get $3 + local.get $4 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 4 + i32.shl + i32.add + local.tee $7 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + local.get $7 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + br $__inlined_func$~lib/set/Set#values$17 end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $3 i32.store offset=12 - i32.const 0 - local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=4 - local.get $8 + local.get $0 call $~lib/array/Array#get:length - local.get $3 + local.get $5 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=16 local.get $1 - local.get $8 - local.get $3 + local.get $0 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -13234,27 +12970,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=16 local.get $0 - local.get $8 + i32.store offset=16 local.get $3 + local.get $0 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=4 - local.get $0 + local.get $3 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -13524,18 +13260,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -14049,8 +13773,8 @@ (func $~lib/set/Set#values (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 f32) + (local $3 f32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -14058,11 +13782,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -14071,14 +13795,14 @@ i32.store local.get $0 i32.load offset=8 - local.set $3 + local.set $4 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -14086,7 +13810,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -14097,36 +13821,9 @@ i32.const 16 i32.const 21 call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.tee $2 i32.store local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 i32.const 268435455 i32.gt_u if @@ -14139,8 +13836,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 + local.get $6 + local.get $6 i32.const 8 i32.le_u select @@ -14150,50 +13847,52 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 i32.store offset=12 - local.get $6 + local.get $2 local.get $7 i32.store - local.get $6 + local.get $2 local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 local.get $5 + local.get $6 i32.lt_s if - local.get $3 - local.get $2 + local.get $4 + local.get $5 i32.const 3 i32.shl i32.add @@ -14204,16 +13903,16 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $7 f32.load - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14221,19 +13920,19 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $0 - local.get $6 + local.get $1 + local.get $2 i32.load offset=12 i32.ge_u if - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -14244,8 +13943,8 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.get $0 + local.get $2 + local.get $1 i32.const 1 i32.add local.tee $7 @@ -14253,46 +13952,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 local.get $7 i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - local.get $4 + local.get $3 f32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $2 + local.get $5 i32.const 1 i32.add - local.set $2 + local.set $5 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 - local.get $1 + local.get $2 + local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 return end i32.const 34544 @@ -14970,18 +14669,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -15537,8 +15224,8 @@ (func $~lib/set/Set#values (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 f64) + (local $3 f64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -15546,11 +15233,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -15559,14 +15246,14 @@ i32.store local.get $0 i32.load offset=8 - local.set $3 + local.set $4 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -15574,7 +15261,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -15585,36 +15272,9 @@ i32.const 16 i32.const 23 call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.tee $2 i32.store local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 i32.const 134217727 i32.gt_u if @@ -15627,8 +15287,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 + local.get $6 + local.get $6 i32.const 8 i32.le_u select @@ -15638,50 +15298,52 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 i32.store offset=12 - local.get $6 + local.get $2 local.get $7 i32.store - local.get $6 + local.get $2 local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 local.get $5 + local.get $6 i32.lt_s if - local.get $3 - local.get $2 + local.get $4 + local.get $5 i32.const 4 i32.shl i32.add @@ -15692,16 +15354,16 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $7 f64.load - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15709,19 +15371,19 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $0 - local.get $6 + local.get $1 + local.get $2 i32.load offset=12 i32.ge_u if - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -15732,8 +15394,8 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.get $0 + local.get $2 + local.get $1 i32.const 1 i32.add local.tee $7 @@ -15741,46 +15403,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 local.get $7 i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 i32.load offset=4 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - local.get $4 + local.get $3 f64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $2 + local.get $5 i32.const 1 i32.add - local.set $2 + local.set $5 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 - local.get $1 + local.get $2 + local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 return end i32.const 34544 diff --git a/tests/compiler/std/symbol.debug.wat b/tests/compiler/std/symbol.debug.wat index 9baedf249c..b58e13f02a 100644 --- a/tests/compiler/std/symbol.debug.wat +++ b/tests/compiler/std/symbol.debug.wat @@ -2400,16 +2400,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this i32.load offset=16 @@ -2578,6 +2568,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -2606,16 +2606,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2735,6 +2725,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) global.get $~lib/symbol/stringToId @@ -2960,22 +2960,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map<~lib/string/String,usize>#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -4066,22 +4050,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/symbol.release.wat b/tests/compiler/std/symbol.release.wat index 39b4ead273..699d8a0915 100644 --- a/tests/compiler/std/symbol.release.wat +++ b/tests/compiler/std/symbol.release.wat @@ -206,7 +206,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$246 + block $__inlined_func$~lib/rt/itcms/Object#unlink$242 local.get $0 i32.load offset=4 i32.const -4 @@ -230,7 +230,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$246 + br $__inlined_func$~lib/rt/itcms/Object#unlink$242 end local.get $0 i32.load offset=8 @@ -2193,7 +2193,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$88 + block $__inlined_func$~lib/util/string/compareImpl$86 loop $while-continue|1 local.get $0 local.tee $3 @@ -2213,7 +2213,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$88 + br_if $__inlined_func$~lib/util/string/compareImpl$86 local.get $2 i32.const 2 i32.add @@ -3511,7 +3511,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$253 + block $__inlined_func$~lib/string/String#concat$249 local.get $1 i32.const 20 i32.sub @@ -3530,7 +3530,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1888 local.set $0 - br $__inlined_func$~lib/string/String#concat$253 + br $__inlined_func$~lib/string/String#concat$249 end global.get $~lib/memory/__stack_pointer local.get $0 @@ -3884,18 +3884,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -3966,18 +3954,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 9b7671a355..3a9a3dfbd7 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -14505,30 +14505,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -14550,7 +14526,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -14559,7 +14535,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -14572,7 +14548,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -14580,7 +14556,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 8dd3afe263..bfe977ef96 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -766,7 +766,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$1403 + block $__inlined_func$~lib/rt/itcms/Object#unlink$1400 local.get $0 i32.load offset=4 i32.const -4 @@ -790,7 +790,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$1403 + br $__inlined_func$~lib/rt/itcms/Object#unlink$1400 end local.get $0 i32.load offset=8 @@ -9445,27 +9445,6 @@ local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 local.get $1 i32.const 1073741820 local.get $2 @@ -9487,10 +9466,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 @@ -9502,13 +9481,13 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $1 i32.store offset=8 @@ -12342,7 +12321,7 @@ i32.lt_s select local.set $0 - block $__inlined_func$~lib/util/bytes/FILL$202 + block $__inlined_func$~lib/util/bytes/FILL$199 local.get $1 i32.eqz local.get $1 @@ -12367,7 +12346,7 @@ i32.shl memory.fill end - br $__inlined_func$~lib/util/bytes/FILL$202 + br $__inlined_func$~lib/util/bytes/FILL$199 end loop $for-loop|0 local.get $0 @@ -35306,7 +35285,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1408 + block $__inlined_func$~lib/util/string/joinIntegerArray$1405 local.get $0 i32.const 1 i32.sub @@ -35320,7 +35299,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1408 + br $__inlined_func$~lib/util/string/joinIntegerArray$1405 end local.get $6 i32.eqz @@ -35333,7 +35312,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1408 + br $__inlined_func$~lib/util/string/joinIntegerArray$1405 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -35426,7 +35405,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1408 + br $__inlined_func$~lib/util/string/joinIntegerArray$1405 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -35560,7 +35539,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$714 + block $__inlined_func$~lib/util/string/compareImpl$711 loop $while-continue|1 local.get $0 local.tee $3 @@ -35580,7 +35559,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$714 + br_if $__inlined_func$~lib/util/string/compareImpl$711 local.get $2 i32.const 2 i32.add @@ -35654,7 +35633,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1409 + block $__inlined_func$~lib/util/string/joinIntegerArray$1406 local.get $0 i32.const 1 i32.sub @@ -35668,7 +35647,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1409 + br $__inlined_func$~lib/util/string/joinIntegerArray$1406 end local.get $6 i32.eqz @@ -35681,7 +35660,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1409 + br $__inlined_func$~lib/util/string/joinIntegerArray$1406 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -35774,7 +35753,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1409 + br $__inlined_func$~lib/util/string/joinIntegerArray$1406 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -35869,7 +35848,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1410 + block $__inlined_func$~lib/util/string/joinIntegerArray$1407 local.get $0 i32.const 1 i32.sub @@ -35883,7 +35862,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1410 + br $__inlined_func$~lib/util/string/joinIntegerArray$1407 end local.get $6 i32.eqz @@ -35896,7 +35875,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1410 + br $__inlined_func$~lib/util/string/joinIntegerArray$1407 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -35993,7 +35972,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1410 + br $__inlined_func$~lib/util/string/joinIntegerArray$1407 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -36059,7 +36038,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1411 + block $__inlined_func$~lib/util/string/joinIntegerArray$1408 local.get $0 i32.const 1 i32.sub @@ -36073,7 +36052,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1411 + br $__inlined_func$~lib/util/string/joinIntegerArray$1408 end local.get $6 i32.eqz @@ -36086,7 +36065,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1411 + br $__inlined_func$~lib/util/string/joinIntegerArray$1408 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -36183,7 +36162,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1411 + br $__inlined_func$~lib/util/string/joinIntegerArray$1408 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -36249,7 +36228,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1412 + block $__inlined_func$~lib/util/string/joinIntegerArray$1409 local.get $0 i32.const 1 i32.sub @@ -36263,7 +36242,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1412 + br $__inlined_func$~lib/util/string/joinIntegerArray$1409 end local.get $6 i32.eqz @@ -36276,7 +36255,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1412 + br $__inlined_func$~lib/util/string/joinIntegerArray$1409 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -36373,7 +36352,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1412 + br $__inlined_func$~lib/util/string/joinIntegerArray$1409 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -36439,7 +36418,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1413 + block $__inlined_func$~lib/util/string/joinIntegerArray$1410 local.get $0 i32.const 1 i32.sub @@ -36453,7 +36432,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1413 + br $__inlined_func$~lib/util/string/joinIntegerArray$1410 end local.get $6 i32.eqz @@ -36466,7 +36445,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1413 + br $__inlined_func$~lib/util/string/joinIntegerArray$1410 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -36563,7 +36542,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1413 + br $__inlined_func$~lib/util/string/joinIntegerArray$1410 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -37008,7 +36987,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $__inlined_func$~lib/util/number/utoa64$749 + block $__inlined_func$~lib/util/number/utoa64$746 local.get $3 i64.eqz if @@ -37018,7 +36997,7 @@ global.set $~lib/memory/__stack_pointer i32.const 8000 local.set $1 - br $__inlined_func$~lib/util/number/utoa64$749 + br $__inlined_func$~lib/util/number/utoa64$746 end local.get $3 i64.const 4294967295 diff --git a/tests/compiler/switch.debug.wat b/tests/compiler/switch.debug.wat index 29504e6521..5f36ae38e5 100644 --- a/tests/compiler/switch.debug.wat +++ b/tests/compiler/switch.debug.wat @@ -3301,14 +3301,6 @@ local.get $2 i32.store offset=4 local.get $2 - i32.const 0 - call $switch/FooClass#set:value - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $value call $switch/FooClass#set:value local.get $this @@ -3468,14 +3460,6 @@ local.get $2 i32.store offset=4 local.get $2 - i32.const 0 - call $switch/BarClass#set:value - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $value call $switch/BarClass#set:value local.get $this diff --git a/tests/compiler/switch.release.wat b/tests/compiler/switch.release.wat index 95b2826eb3..ed02a77d96 100644 --- a/tests/compiler/switch.release.wat +++ b/tests/compiler/switch.release.wat @@ -160,7 +160,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$186 + block $__inlined_func$~lib/rt/itcms/Object#unlink$184 local.get $1 i32.load offset=4 i32.const -4 @@ -184,7 +184,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$186 + br $__inlined_func$~lib/rt/itcms/Object#unlink$184 end local.get $1 i32.load offset=8 @@ -1884,7 +1884,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$191 + block $__inlined_func$~lib/string/String#concat$189 local.get $1 i32.const 20 i32.sub @@ -1903,7 +1903,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1296 local.set $0 - br $__inlined_func$~lib/string/String#concat$191 + br $__inlined_func$~lib/string/String#concat$189 end global.get $~lib/memory/__stack_pointer local.get $0 @@ -2061,12 +2061,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -2220,12 +2214,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer From d5c8c0d16e35d2d25bc7f0f94b2adde0eb78e8d0 Mon Sep 17 00:00:00 2001 From: JinRui Date: Wed, 17 Sep 2025 17:25:50 +0800 Subject: [PATCH 2/7] fix --- src/compiler.ts | 100 +++--------------------------------------------- 1 file changed, 6 insertions(+), 94 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index eefe939762..c1c1137ac4 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -59,7 +59,8 @@ import { isConstExpressionNaN, ensureType, createType, - getConstValueInteger + getConstValueInteger, + isConstNonZero } from "./module"; import { @@ -10026,95 +10027,6 @@ export class Compiler extends DiagnosticEmitter { // === Specialized code generation ============================================================== /** Makes a constant zero of the specified type. */ - /** Checks if an expression evaluates to a zero value for the given type. */ - shouldSkipZeroInit(expr: ExpressionRef, type: Type): bool { - let module = this.module; - // Try to evaluate the expression at compile time - let evaled = module.runExpression(expr, ExpressionRunnerFlags.Default); - if (!evaled) return false; // Can't evaluate at compile time - - const evaledType = getExpressionType(evaled); - switch (type.kind) { - case TypeKind.Bool: - case TypeKind.I8: - case TypeKind.I16: - case TypeKind.I32: - case TypeKind.U8: - case TypeKind.U16: - case TypeKind.U32: - // All small integer types are represented as i32 in WebAssembly - // But we still check for safety and consistency - if (evaledType == TypeRef.I32) { - return getConstValueI32(evaled) === 0; - } - return false; - case TypeKind.I64: - case TypeKind.U64: - case TypeKind.Isize: - case TypeKind.Usize: - // Only call getConstValueI64* if the expression is actually i64 - if (evaledType == TypeRef.I64) { - return getConstValueI64Low(evaled) === 0 && getConstValueI64High(evaled) === 0; - } - // For size types on 32-bit platforms, they might be i32 - if (evaledType == TypeRef.I32 && (type.kind == TypeKind.Isize || type.kind == TypeKind.Usize)) { - return getConstValueI32(evaled) === 0; - } - return false; - case TypeKind.F32: - if (evaledType == TypeRef.F32) { - return getConstValueF32(evaled) === 0.0; - } - return false; - case TypeKind.F64: - if (evaledType == TypeRef.F64) { - return getConstValueF64(evaled) === 0.0; - } - return false; - default: - // For reference types, zero means null - if (type.isReference && type.is(TypeFlags.Nullable)) { - return getExpressionId(evaled) === ExpressionId.RefNull; - } - return false; - } - } - - /** Checks if a field type can use the default zero-initialized memory value. */ - canUseZeroDefault(type: Type): bool { - switch (type.kind) { - default: assert(false); - case TypeKind.Bool: - case TypeKind.I8: - case TypeKind.I16: - case TypeKind.I32: - case TypeKind.U8: - case TypeKind.U16: - case TypeKind.U32: - case TypeKind.I64: - case TypeKind.U64: - case TypeKind.Isize: - case TypeKind.Usize: - case TypeKind.F32: - case TypeKind.F64: - case TypeKind.V128: - return true; // Value types default to zero in zero-initialized memory - case TypeKind.Func: - case TypeKind.Extern: - case TypeKind.Any: - case TypeKind.Eq: - case TypeKind.Struct: - case TypeKind.Array: - case TypeKind.String: - case TypeKind.StringviewWTF8: - case TypeKind.StringviewWTF16: - case TypeKind.StringviewIter: - case TypeKind.I31: - // Reference types: only nullable refs can use zero (null) default - return type.is(TypeFlags.Nullable); - } - } - makeZero(type: Type): ExpressionRef { let module = this.module; switch (type.kind) { @@ -10502,7 +10414,10 @@ export class Compiler extends DiagnosticEmitter { // Explicit initializer // Check if we need to initialize this field const valueExpr: ExpressionRef = this.compileExpression(initializerNode, fieldType, Constraints.ConvImplicit); - if (!this.shouldSkipZeroInit(valueExpr, fieldType)) { + // Memory will be filled with 0 on itcms.__new + // Memory grow will default to initialized with 0 as wasm spec + // So, optimize the active initialization away if it's zero + if ((this.options.runtime == Runtime.Incremental || this.options.runtime == Runtime.Stub) && isConstNonZero(valueExpr)) { let expr = this.makeCallDirect(setterInstance, [ module.local_get(thisLocalIndex, sizeTypeRef), valueExpr @@ -10512,9 +10427,6 @@ export class Compiler extends DiagnosticEmitter { } stmts.push(expr); } - } else { - // No explicit initializer - assert(this.canUseZeroDefault(fieldType)); } } } From 1f042c687322570f117630c9077574a27242da90 Mon Sep 17 00:00:00 2001 From: JinRui Date: Wed, 17 Sep 2025 17:45:58 +0800 Subject: [PATCH 3/7] fix --- src/compiler.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index c1c1137ac4..4ffd5b7075 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -60,7 +60,7 @@ import { ensureType, createType, getConstValueInteger, - isConstNonZero + isConstZero } from "./module"; import { @@ -10026,6 +10026,14 @@ export class Compiler extends DiagnosticEmitter { // === Specialized code generation ============================================================== + /** Check if possible to optimize the active initialization away if it's zero */ + canOptimizeZeroInitialization(valueExpr: ExpressionRef): bool { + if ((this.options.runtime != Runtime.Incremental) && (this.options.runtime != Runtime.Stub)) { + return false; + } + return isConstZero(valueExpr); + } + /** Makes a constant zero of the specified type. */ makeZero(type: Type): ExpressionRef { let module = this.module; @@ -10417,7 +10425,7 @@ export class Compiler extends DiagnosticEmitter { // Memory will be filled with 0 on itcms.__new // Memory grow will default to initialized with 0 as wasm spec // So, optimize the active initialization away if it's zero - if ((this.options.runtime == Runtime.Incremental || this.options.runtime == Runtime.Stub) && isConstNonZero(valueExpr)) { + if (!this.canOptimizeZeroInitialization(valueExpr)) { let expr = this.makeCallDirect(setterInstance, [ module.local_get(thisLocalIndex, sizeTypeRef), valueExpr From e82e45f5fba27652ef8f1b1b60b04f092a65cea4 Mon Sep 17 00:00:00 2001 From: JinRui Date: Thu, 18 Sep 2025 10:05:58 +0800 Subject: [PATCH 4/7] fix --- src/compiler.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 4ffd5b7075..050abc342b 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -10028,10 +10028,10 @@ export class Compiler extends DiagnosticEmitter { /** Check if possible to optimize the active initialization away if it's zero */ canOptimizeZeroInitialization(valueExpr: ExpressionRef): bool { - if ((this.options.runtime != Runtime.Incremental) && (this.options.runtime != Runtime.Stub)) { - return false; - } - return isConstZero(valueExpr); + const runtime = this.options.runtime; + return (runtime == Runtime.Incremental || runtime == Runtime.Stub) + ? isConstZero(valueExpr) + : false; } /** Makes a constant zero of the specified type. */ From f0237f5d8ad1d520df246f345b9ab5b3d0449fd6 Mon Sep 17 00:00:00 2001 From: KKiiim Date: Sat, 4 Oct 2025 15:52:17 +0800 Subject: [PATCH 5/7] fix --- src/compiler.ts | 33 +- tests/compiler/assignment-chain.debug.wat | 59 +- tests/compiler/assignment-chain.release.wat | 34 +- tests/compiler/bindings/esm.debug.wat | 365 +- tests/compiler/bindings/esm.release.wat | 1090 ++-- .../bindings/noExportRuntime.debug.wat | 32 +- .../bindings/noExportRuntime.release.wat | 143 +- tests/compiler/bindings/raw.debug.wat | 365 +- tests/compiler/bindings/raw.release.wat | 1090 ++-- tests/compiler/call-rest.debug.wat | 8 + tests/compiler/call-rest.release.wat | 17 +- tests/compiler/class.debug.wat | 42 +- tests/compiler/class.release.wat | 38 +- tests/compiler/constructor.debug.wat | 90 +- tests/compiler/constructor.release.wat | 30 +- tests/compiler/duplicate-fields.debug.wat | 92 + tests/compiler/duplicate-fields.release.wat | 58 +- .../compiler/extends-baseaggregate.debug.wat | 164 +- .../extends-baseaggregate.release.wat | 152 +- tests/compiler/extends-recursive.debug.wat | 89 +- tests/compiler/extends-recursive.release.wat | 56 +- tests/compiler/field-initialization.debug.wat | 264 +- .../compiler/field-initialization.release.wat | 120 +- tests/compiler/infer-generic.debug.wat | 8 + tests/compiler/infer-generic.release.wat | 10 +- tests/compiler/inlining.debug.wat | 16 + tests/compiler/inlining.release.wat | 415 +- tests/compiler/issues/1225.debug.wat | 16 + tests/compiler/issues/1225.release.wat | 16 +- tests/compiler/issues/1699.debug.wat | 42 +- tests/compiler/issues/1699.release.wat | 55 +- tests/compiler/issues/2322/index.debug.wat | 13 + tests/compiler/issues/2322/index.release.wat | 10 +- tests/compiler/object-literal.debug.wat | 367 +- tests/compiler/object-literal.release.wat | 306 +- tests/compiler/resolve-access.debug.wat | 8 + tests/compiler/resolve-access.release.wat | 10 +- .../compiler/resolve-elementaccess.debug.wat | 32 +- .../resolve-elementaccess.release.wat | 155 +- tests/compiler/return-unreachable.debug.wat | 42 +- tests/compiler/return-unreachable.release.wat | 147 +- tests/compiler/rt/issue-2719.debug.wat | 18 +- tests/compiler/rt/issue-2719.release.wat | 10 +- tests/compiler/std/array.debug.wat | 216 +- tests/compiler/std/array.release.wat | 4368 ++++++++-------- tests/compiler/std/arraybuffer.debug.wat | 56 +- tests/compiler/std/arraybuffer.release.wat | 54 +- tests/compiler/std/dataview.debug.wat | 56 +- tests/compiler/std/dataview.release.wat | 771 +-- tests/compiler/std/date.debug.wat | 24 + tests/compiler/std/date.release.wat | 54 +- tests/compiler/std/map.debug.wat | 1104 +++- tests/compiler/std/map.release.wat | 4564 +++++++++-------- tests/compiler/std/math.release.wat | 36 +- tests/compiler/std/set.debug.wat | 784 ++- tests/compiler/std/set.release.wat | 3450 +++++++------ tests/compiler/std/symbol.debug.wat | 72 +- tests/compiler/std/symbol.release.wat | 36 +- tests/compiler/std/typedarray.debug.wat | 32 +- tests/compiler/std/typedarray.release.wat | 93 +- tests/compiler/switch.debug.wat | 16 + tests/compiler/switch.release.wat | 20 +- 62 files changed, 13518 insertions(+), 8415 deletions(-) diff --git a/src/compiler.ts b/src/compiler.ts index 050abc342b..e5e42d2672 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -10029,9 +10029,8 @@ export class Compiler extends DiagnosticEmitter { /** Check if possible to optimize the active initialization away if it's zero */ canOptimizeZeroInitialization(valueExpr: ExpressionRef): bool { const runtime = this.options.runtime; - return (runtime == Runtime.Incremental || runtime == Runtime.Stub) - ? isConstZero(valueExpr) - : false; + // Memory will be filled with 0 on itcms.__new + return runtime == Runtime.Incremental ? isConstZero(valueExpr) : false; } /** Makes a constant zero of the specified type. */ @@ -10410,6 +10409,7 @@ export class Compiler extends DiagnosticEmitter { // Initialize deferred non-parameter fields if (nonParameterFields) { + const unmanagedClass = classInstance.type.isUnmanaged; for (let i = 0, k = nonParameterFields.length; i < k; ++i) { let field = unchecked(nonParameterFields[i]); let fieldType = field.type; @@ -10418,23 +10418,18 @@ export class Compiler extends DiagnosticEmitter { assert(fieldPrototype.parameterIndex < 0); let setterInstance = assert(field.setterInstance); - if (initializerNode) { - // Explicit initializer - // Check if we need to initialize this field - const valueExpr: ExpressionRef = this.compileExpression(initializerNode, fieldType, Constraints.ConvImplicit); - // Memory will be filled with 0 on itcms.__new - // Memory grow will default to initialized with 0 as wasm spec - // So, optimize the active initialization away if it's zero - if (!this.canOptimizeZeroInitialization(valueExpr)) { - let expr = this.makeCallDirect(setterInstance, [ - module.local_get(thisLocalIndex, sizeTypeRef), - valueExpr - ], field.identifierNode, true); - if (this.currentType != Type.void) { // in case - expr = module.drop(expr); - } - stmts.push(expr); + const valueExpr: ExpressionRef = + initializerNode ? this.compileExpression(initializerNode, fieldType, Constraints.ConvImplicit) + : this.makeZero(fieldType); + if(unmanagedClass || !this.canOptimizeZeroInitialization(valueExpr)) { + let expr = this.makeCallDirect(setterInstance, [ + module.local_get(thisLocalIndex, sizeTypeRef), + valueExpr + ], field.identifierNode, true); + if (this.currentType != Type.void) { // in case + expr = module.drop(expr); } + stmts.push(expr); } } } diff --git a/tests/compiler/assignment-chain.debug.wat b/tests/compiler/assignment-chain.debug.wat index 51d22efd7d..dc86b62eb1 100644 --- a/tests/compiler/assignment-chain.debug.wat +++ b/tests/compiler/assignment-chain.debug.wat @@ -2250,30 +2250,35 @@ local.get $ptr return ) - (func $assignment-chain/A#set:y (param $this i32) (param $y i64) - local.get $this - local.get $y - i64.store offset=8 - ) (func $assignment-chain/A#set:x (param $this i32) (param $x i64) local.get $this local.get $x i64.store ) - (func $assignment-chain/B#get:_setter_cnt (param $this i32) (result i32) + (func $assignment-chain/A#set:y (param $this i32) (param $y i64) local.get $this - i32.load + local.get $y + i64.store offset=8 ) (func $assignment-chain/B#set:_setter_cnt (param $this i32) (param $_setter_cnt i32) local.get $this local.get $_setter_cnt i32.store ) + (func $assignment-chain/B#set:_getter_cnt (param $this i32) (param $_getter_cnt i32) + local.get $this + local.get $_getter_cnt + i32.store offset=4 + ) (func $assignment-chain/B#set:_y (param $this i32) (param $_y f64) local.get $this local.get $_y f64.store offset=8 ) + (func $assignment-chain/B#get:_setter_cnt (param $this i32) (result i32) + local.get $this + i32.load + ) (func $assignment-chain/B#get:_getter_cnt (param $this i32) (result i32) local.get $this i32.load offset=4 @@ -2429,6 +2434,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + call $assignment-chain/A#set:x + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + call $assignment-chain/A#set:y + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2531,6 +2552,30 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $assignment-chain/B#set:_setter_cnt + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $assignment-chain/B#set:_getter_cnt + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f64.const 0 + call $assignment-chain/B#set:_y + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/assignment-chain.release.wat b/tests/compiler/assignment-chain.release.wat index 5ea2d108b0..2d02b94594 100644 --- a/tests/compiler/assignment-chain.release.wat +++ b/tests/compiler/assignment-chain.release.wat @@ -122,7 +122,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$124 + block $__inlined_func$~lib/rt/itcms/Object#unlink$129 local.get $1 i32.load offset=4 i32.const -4 @@ -146,7 +146,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$124 + br $__inlined_func$~lib/rt/itcms/Object#unlink$129 end local.get $1 i32.load offset=8 @@ -1661,6 +1661,18 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1778,6 +1790,24 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f64.const 0 + f64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/bindings/esm.debug.wat b/tests/compiler/bindings/esm.debug.wat index ed40bacabc..c5ae968aba 100644 --- a/tests/compiler/bindings/esm.debug.wat +++ b/tests/compiler/bindings/esm.debug.wat @@ -1,20 +1,23 @@ (module - (type $0 (func (param i32) (result i32))) - (type $1 (func (param i32 i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) (type $2 (func (param i32 i32) (result i32))) (type $3 (func (param i32))) (type $4 (func)) (type $5 (func (param i32 i32 i32))) (type $6 (func (result i32))) (type $7 (func (param i32 i32 i32 i32))) - (type $8 (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $9 (func (param f64) (result f64))) - (type $10 (func (param i64 i64) (result i64))) - (type $11 (func (result i64))) - (type $12 (func (param i32 i32 i64) (result i32))) - (type $13 (func (param i32 i32 i32) (result i32))) - (type $14 (func (param i32 i32 i64))) - (type $15 (func (param i32 i32) (result f32))) + (type $8 (func (param i32 i64))) + (type $9 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $10 (func (param f64) (result f64))) + (type $11 (func (param i64 i64) (result i64))) + (type $12 (func (result i64))) + (type $13 (func (param i32 i32 i64) (result i32))) + (type $14 (func (param i32 f32))) + (type $15 (func (param i32 f64))) + (type $16 (func (param i32 i32 i32) (result i32))) + (type $17 (func (param i32 i32 i64))) + (type $18 (func (param i32 i32) (result f32))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "globalThis" (global $bindings/esm/immutableGlobal externref)) (import "env" "globalThis.globalThis" (global $bindings/esm/immutableGlobalNested externref)) @@ -2623,24 +2626,106 @@ local.get $this i32.load offset=4 ) - (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) - local.get $this - i32.load8_s - ) (func $bindings/esm/PlainObject#set:a (param $this i32) (param $a i32) local.get $this local.get $a i32.store8 ) - (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) - local.get $this - i32.load16_s offset=2 - ) (func $bindings/esm/PlainObject#set:b (param $this i32) (param $b i32) local.get $this local.get $b i32.store16 offset=2 ) + (func $bindings/esm/PlainObject#set:c (param $this i32) (param $c i32) + local.get $this + local.get $c + i32.store offset=4 + ) + (func $bindings/esm/PlainObject#set:d (param $this i32) (param $d i64) + local.get $this + local.get $d + i64.store offset=8 + ) + (func $bindings/esm/PlainObject#set:e (param $this i32) (param $e i32) + local.get $this + local.get $e + i32.store8 offset=16 + ) + (func $bindings/esm/PlainObject#set:f (param $this i32) (param $f i32) + local.get $this + local.get $f + i32.store16 offset=18 + ) + (func $bindings/esm/PlainObject#set:g (param $this i32) (param $g i32) + local.get $this + local.get $g + i32.store offset=20 + ) + (func $bindings/esm/PlainObject#set:h (param $this i32) (param $h i64) + local.get $this + local.get $h + i64.store offset=24 + ) + (func $bindings/esm/PlainObject#set:i (param $this i32) (param $i i32) + local.get $this + local.get $i + i32.store offset=32 + ) + (func $bindings/esm/PlainObject#set:j (param $this i32) (param $j i32) + local.get $this + local.get $j + i32.store offset=36 + ) + (func $bindings/esm/PlainObject#set:k (param $this i32) (param $k i32) + local.get $this + local.get $k + i32.store8 offset=40 + ) + (func $bindings/esm/PlainObject#set:l (param $this i32) (param $l f32) + local.get $this + local.get $l + f32.store offset=44 + ) + (func $bindings/esm/PlainObject#set:m (param $this i32) (param $m f64) + local.get $this + local.get $m + f64.store offset=48 + ) + (func $bindings/esm/PlainObject#set:n (param $this i32) (param $n i32) + local.get $this + local.get $n + i32.store offset=56 + local.get $this + local.get $n + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $bindings/esm/PlainObject#set:o (param $this i32) (param $o i32) + local.get $this + local.get $o + i32.store offset=60 + local.get $this + local.get $o + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $bindings/esm/PlainObject#set:p (param $this i32) (param $p i32) + local.get $this + local.get $p + i32.store offset=64 + local.get $this + local.get $p + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) + local.get $this + i32.load8_s + ) + (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) + local.get $this + i32.load16_s offset=2 + ) (func $bindings/esm/newInternref (result i32) i32.const 0 call $bindings/esm/NonPlainObject#constructor @@ -3314,6 +3399,30 @@ local.tee $this i32.store end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -3335,7 +3444,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3344,7 +3453,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 @@ -3357,7 +3466,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3365,7 +3474,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -3983,6 +4092,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -4012,7 +4153,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4021,7 +4162,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -4034,7 +4175,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -4042,7 +4183,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -4050,7 +4191,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -4479,6 +4620,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -4508,7 +4681,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4517,7 +4690,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -4530,7 +4703,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -4538,7 +4711,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -4546,7 +4719,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array<~lib/string/String>#set:length_ @@ -4891,6 +5064,134 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:b + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:c + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + call $bindings/esm/PlainObject#set:d + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:e + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:f + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:g + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + call $bindings/esm/PlainObject#set:h + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:i + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:j + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:k + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f32.const 0 + call $bindings/esm/PlainObject#set:l + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f64.const 0 + call $bindings/esm/PlainObject#set:m + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:n + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:o + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:p + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/bindings/esm.release.wat b/tests/compiler/bindings/esm.release.wat index 802577b631..9367b73e53 100644 --- a/tests/compiler/bindings/esm.release.wat +++ b/tests/compiler/bindings/esm.release.wat @@ -2164,7 +2164,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$257 + block $__inlined_func$~lib/string/String#concat$284 local.get $1 i32.const 20 i32.sub @@ -2183,7 +2183,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1760 local.set $2 - br $__inlined_func$~lib/string/String#concat$257 + br $__inlined_func$~lib/string/String#concat$284 end global.get $~lib/memory/__stack_pointer local.get $2 @@ -2341,20 +2341,19 @@ (func $bindings/esm/typedarrayFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 f32) + (local $4 f32) + (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2362,121 +2361,150 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $0 i32.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer local.get $1 i32.store - local.get $1 - call $~lib/typedarray/Float32Array#get:length - local.get $3 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $3 - i32.eqz - if + block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) + local.get $1 + call $~lib/typedarray/Float32Array#get:length + local.get $5 + i32.add + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - end - local.get $6 - i32.const 134217727 - i32.gt_u - if - i32.const 1248 - i32.const 1296 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $5 + i32.const 134217727 + i32.gt_u + if + i32.const 1248 + i32.const 1296 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 3 + i32.shl + local.tee $7 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $2 + local.get $5 + i32.store + local.get $2 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + br $__inlined_func$~lib/typedarray/Uint64Array#constructor + end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 3 - i32.shl - local.tee $8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $3 - local.get $6 - i32.store - local.get $3 - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - local.get $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + local.tee $2 i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer @@ -2484,11 +2512,11 @@ i32.store local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $2 + local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -2500,14 +2528,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store - local.get $2 + local.get $3 local.get $0 i32.load offset=8 i32.const 1 @@ -2526,50 +2554,50 @@ i32.store local.get $0 i32.load offset=4 - local.get $2 + local.get $3 i32.const 1 i32.shl i32.add i32.load16_s - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 local.get $2 - local.get $4 + local.get $3 + local.get $5 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|0 end end i32.const 0 - local.set $2 + local.set $3 loop $for-loop|1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 call $~lib/typedarray/Float32Array#get:length - local.get $2 + local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $2 + local.get $3 i32.add - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 @@ -2580,14 +2608,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $1 i32.store - local.get $2 + local.get $3 local.get $1 i32.load offset=8 i32.const 2 @@ -2606,25 +2634,25 @@ i32.store local.get $1 i32.load offset=4 - local.get $2 + local.get $3 i32.const 2 i32.shl i32.add f32.load - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $4 + local.get $2 local.get $5 + local.get $4 i64.trunc_sat_f32_u call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|1 end end @@ -2632,7 +2660,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 return end i32.const 35072 @@ -2869,7 +2897,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$242 + block $__inlined_func$~lib/rt/itcms/__renew$269 i32.const 1073741820 local.get $2 i32.const 1 @@ -2912,7 +2940,7 @@ i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$242 + br $__inlined_func$~lib/rt/itcms/__renew$269 end local.get $3 local.get $4 @@ -3157,215 +3185,6 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/array/Array#get:length - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $7 - i32.const 268435455 - i32.gt_u - if - i32.const 1248 - i32.const 1920 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $7 - local.get $7 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $3 - local.get $5 - i32.store - local.get $3 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - local.get $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - loop $for-loop|0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $3 - local.get $2 - local.get $4 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 0 - local.set $2 - loop $for-loop|1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.add - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $3 - local.get $4 - local.get $5 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) (func $export:bindings/esm/bufferFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -3630,7 +3449,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - block $__inlined_func$bindings/esm/staticarrayFunction (result i32) + block $__inlined_func$bindings/esm/staticarrayFunction$1 (result i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -3786,7 +3605,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 - br $__inlined_func$bindings/esm/staticarrayFunction + br $__inlined_func$bindings/esm/staticarrayFunction$1 end br $folding-inner1 end @@ -3834,7 +3653,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3865,20 +3683,20 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $0 i32.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#get:length - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 call $~lib/array/Array#get:length - local.get $3 + local.get $4 i32.add - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -3897,9 +3715,37 @@ i32.const 16 i32.const 11 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 i32.const 268435455 i32.gt_u if @@ -3912,54 +3758,54 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $3 - local.get $3 - i32.const 8 + local.get $5 + local.get $5 + i32.const 8 i32.le_u select i32.const 2 i32.shl - local.tee $7 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 i32.store offset=12 + local.get $6 local.get $4 - local.get $5 i32.store + local.get $6 local.get $4 - local.get $5 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 local.get $4 - i32.store offset=8 - local.get $4 - local.get $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - local.get $7 + local.get $6 + i32.store offset=4 + local.get $6 + local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - local.get $3 + local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer @@ -3971,12 +3817,12 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 - local.get $4 + local.get $6 local.get $2 local.get $0 local.get $2 @@ -4001,7 +3847,7 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -4014,7 +3860,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $4 + local.get $6 local.get $3 local.get $1 local.get $2 @@ -4035,7 +3881,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $6 return end i32.const 35072 @@ -4046,48 +3892,20 @@ unreachable ) (func $export:bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - if - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - local.get $1 - call $bindings/esm/arrayOfStringsFunction - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -4095,108 +3913,472 @@ local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $0 + call $~lib/array/Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $4 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner0 - local.get $0 - local.set $2 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 68 - i32.const 13 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 12 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $5 i32.store offset=4 + local.get $5 + i32.const 0 + i32.store + local.get $5 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 i32.const 0 - i32.store - local.get $0 - i32.eqz + i32.store offset=12 + local.get $4 + i32.const 268435455 + i32.gt_u if + i32.const 1248 + i32.const 1920 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $4 + local.get $4 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $6 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=12 + local.get $5 + local.get $3 + i32.store + local.get $5 + local.get $3 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $6 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + loop $for-loop|0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $0 + local.get $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $5 + local.get $2 + local.get $3 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $5 + local.get $3 + local.get $4 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $5 + return + end + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store offset=8 + global.get $~lib/memory/__stack_pointer + block $__inlined_func$bindings/esm/PlainObject#constructor$4 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 68 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store16 offset=2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store8 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store16 offset=18 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i64.const 0 + i64.store offset=24 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=32 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=36 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store8 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + f32.const 0 + f32.store offset=44 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + f64.const 0 + f64.store offset=48 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=56 + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=60 + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=64 + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + br $__inlined_func$bindings/esm/PlainObject#constructor$4 + end + br $folding-inner1 + end + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 i32.load8_s local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $0 + local.get $2 local.get $3 local.get $1 i32.load8_s i32.add i32.store8 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load16_s offset=2 - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $0 local.get $2 + local.get $0 local.get $1 i32.load16_s offset=2 i32.add @@ -4209,7 +4391,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 return end i32.const 35072 diff --git a/tests/compiler/bindings/noExportRuntime.debug.wat b/tests/compiler/bindings/noExportRuntime.debug.wat index 028b029173..a75c227578 100644 --- a/tests/compiler/bindings/noExportRuntime.debug.wat +++ b/tests/compiler/bindings/noExportRuntime.debug.wat @@ -2603,6 +2603,30 @@ local.tee $this i32.store end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -2624,7 +2648,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2633,7 +2657,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 @@ -2646,7 +2670,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -2654,7 +2678,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength diff --git a/tests/compiler/bindings/noExportRuntime.release.wat b/tests/compiler/bindings/noExportRuntime.release.wat index 04cf11fe85..dd2b17bc43 100644 --- a/tests/compiler/bindings/noExportRuntime.release.wat +++ b/tests/compiler/bindings/noExportRuntime.release.wat @@ -156,7 +156,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$130 + block $__inlined_func$~lib/rt/itcms/Object#unlink$132 local.get $0 i32.load offset=4 i32.const -4 @@ -180,7 +180,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$130 + br $__inlined_func$~lib/rt/itcms/Object#unlink$132 end local.get $0 i32.load offset=8 @@ -1580,6 +1580,61 @@ memory.fill local.get $1 ) + (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $1 + if + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1264 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load offset=4 + i32.const 3 + i32.and + local.tee $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $0 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + end + ) (func $bindings/noExportRuntime/takesReturnsBasic (param $0 i32) (result i32) global.get $bindings/noExportRuntime/isBasic ) @@ -1722,8 +1777,6 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) global.get $~started if return @@ -1766,7 +1819,7 @@ i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$start:bindings/noExportRuntime$1 + block $__inlined_func$start:bindings/noExportRuntime block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1780 @@ -1833,79 +1886,47 @@ i32.store end global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=12 local.get $0 local.get $1 - i32.store - local.get $1 - if - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1264 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $2 - i32.load offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load offset=4 - i32.const 3 - i32.and - local.tee $4 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $2 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $4 - i32.const 3 - i32.eq - i32.and - if - local.get $2 - call $~lib/rt/itcms/Object#makeGray - end - end - end - end + call $~lib/arraybuffer/ArrayBufferView#set:buffer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 i32.const 0 i32.store offset=8 @@ -1921,7 +1942,7 @@ global.set $~lib/memory/__stack_pointer local.get $0 global.set $bindings/noExportRuntime/isTypedArray - br $__inlined_func$start:bindings/noExportRuntime$1 + br $__inlined_func$start:bindings/noExportRuntime end i32.const 34576 i32.const 34624 diff --git a/tests/compiler/bindings/raw.debug.wat b/tests/compiler/bindings/raw.debug.wat index ccd52bdc3e..1a05e8c669 100644 --- a/tests/compiler/bindings/raw.debug.wat +++ b/tests/compiler/bindings/raw.debug.wat @@ -1,20 +1,23 @@ (module - (type $0 (func (param i32) (result i32))) - (type $1 (func (param i32 i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) (type $2 (func (param i32 i32) (result i32))) (type $3 (func (param i32))) (type $4 (func)) (type $5 (func (param i32 i32 i32))) (type $6 (func (result i32))) (type $7 (func (param i32 i32 i32 i32))) - (type $8 (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $9 (func (param f64) (result f64))) - (type $10 (func (param i64 i64) (result i64))) - (type $11 (func (result i64))) - (type $12 (func (param i32 i32 i64) (result i32))) - (type $13 (func (param i32 i32 i32) (result i32))) - (type $14 (func (param i32 i32 i64))) - (type $15 (func (param i32 i32) (result f32))) + (type $8 (func (param i32 i64))) + (type $9 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $10 (func (param f64) (result f64))) + (type $11 (func (param i64 i64) (result i64))) + (type $12 (func (result i64))) + (type $13 (func (param i32 i32 i64) (result i32))) + (type $14 (func (param i32 f32))) + (type $15 (func (param i32 f64))) + (type $16 (func (param i32 i32 i32) (result i32))) + (type $17 (func (param i32 i32 i64))) + (type $18 (func (param i32 i32) (result f32))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "globalThis" (global $bindings/esm/immutableGlobal externref)) (import "env" "globalThis.globalThis" (global $bindings/esm/immutableGlobalNested externref)) @@ -2626,24 +2629,106 @@ local.get $this i32.load offset=4 ) - (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) - local.get $this - i32.load8_s - ) (func $bindings/esm/PlainObject#set:a (param $this i32) (param $a i32) local.get $this local.get $a i32.store8 ) - (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) - local.get $this - i32.load16_s offset=2 - ) (func $bindings/esm/PlainObject#set:b (param $this i32) (param $b i32) local.get $this local.get $b i32.store16 offset=2 ) + (func $bindings/esm/PlainObject#set:c (param $this i32) (param $c i32) + local.get $this + local.get $c + i32.store offset=4 + ) + (func $bindings/esm/PlainObject#set:d (param $this i32) (param $d i64) + local.get $this + local.get $d + i64.store offset=8 + ) + (func $bindings/esm/PlainObject#set:e (param $this i32) (param $e i32) + local.get $this + local.get $e + i32.store8 offset=16 + ) + (func $bindings/esm/PlainObject#set:f (param $this i32) (param $f i32) + local.get $this + local.get $f + i32.store16 offset=18 + ) + (func $bindings/esm/PlainObject#set:g (param $this i32) (param $g i32) + local.get $this + local.get $g + i32.store offset=20 + ) + (func $bindings/esm/PlainObject#set:h (param $this i32) (param $h i64) + local.get $this + local.get $h + i64.store offset=24 + ) + (func $bindings/esm/PlainObject#set:i (param $this i32) (param $i i32) + local.get $this + local.get $i + i32.store offset=32 + ) + (func $bindings/esm/PlainObject#set:j (param $this i32) (param $j i32) + local.get $this + local.get $j + i32.store offset=36 + ) + (func $bindings/esm/PlainObject#set:k (param $this i32) (param $k i32) + local.get $this + local.get $k + i32.store8 offset=40 + ) + (func $bindings/esm/PlainObject#set:l (param $this i32) (param $l f32) + local.get $this + local.get $l + f32.store offset=44 + ) + (func $bindings/esm/PlainObject#set:m (param $this i32) (param $m f64) + local.get $this + local.get $m + f64.store offset=48 + ) + (func $bindings/esm/PlainObject#set:n (param $this i32) (param $n i32) + local.get $this + local.get $n + i32.store offset=56 + local.get $this + local.get $n + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $bindings/esm/PlainObject#set:o (param $this i32) (param $o i32) + local.get $this + local.get $o + i32.store offset=60 + local.get $this + local.get $o + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $bindings/esm/PlainObject#set:p (param $this i32) (param $p i32) + local.get $this + local.get $p + i32.store offset=64 + local.get $this + local.get $p + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) + local.get $this + i32.load8_s + ) + (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) + local.get $this + i32.load16_s offset=2 + ) (func $bindings/esm/newInternref (result i32) i32.const 0 call $bindings/esm/NonPlainObject#constructor @@ -3317,6 +3402,30 @@ local.tee $this i32.store end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -3338,7 +3447,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3347,7 +3456,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 @@ -3360,7 +3469,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3368,7 +3477,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -3986,6 +4095,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -4015,7 +4156,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4024,7 +4165,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -4037,7 +4178,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -4045,7 +4186,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -4053,7 +4194,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -4482,6 +4623,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -4511,7 +4684,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4520,7 +4693,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -4533,7 +4706,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -4541,7 +4714,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -4549,7 +4722,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array<~lib/string/String>#set:length_ @@ -4894,6 +5067,134 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:b + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:c + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + call $bindings/esm/PlainObject#set:d + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:e + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:f + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:g + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + call $bindings/esm/PlainObject#set:h + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:i + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:j + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:k + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f32.const 0 + call $bindings/esm/PlainObject#set:l + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f64.const 0 + call $bindings/esm/PlainObject#set:m + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:n + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:o + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:p + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/bindings/raw.release.wat b/tests/compiler/bindings/raw.release.wat index 754d321128..e2ed7cd278 100644 --- a/tests/compiler/bindings/raw.release.wat +++ b/tests/compiler/bindings/raw.release.wat @@ -2164,7 +2164,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$258 + block $__inlined_func$~lib/string/String#concat$285 local.get $1 i32.const 20 i32.sub @@ -2183,7 +2183,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1760 local.set $2 - br $__inlined_func$~lib/string/String#concat$258 + br $__inlined_func$~lib/string/String#concat$285 end global.get $~lib/memory/__stack_pointer local.get $2 @@ -2341,20 +2341,19 @@ (func $bindings/esm/typedarrayFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 f32) + (local $4 f32) + (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2362,121 +2361,150 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $0 i32.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer local.get $1 i32.store - local.get $1 - call $~lib/typedarray/Float32Array#get:length - local.get $3 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $3 - i32.eqz - if + block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) + local.get $1 + call $~lib/typedarray/Float32Array#get:length + local.get $5 + i32.add + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - end - local.get $6 - i32.const 134217727 - i32.gt_u - if - i32.const 1248 - i32.const 1296 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $5 + i32.const 134217727 + i32.gt_u + if + i32.const 1248 + i32.const 1296 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 3 + i32.shl + local.tee $7 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $2 + local.get $5 + i32.store + local.get $2 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + br $__inlined_func$~lib/typedarray/Uint64Array#constructor + end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 3 - i32.shl - local.tee $8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $3 - local.get $6 - i32.store - local.get $3 - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - local.get $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + local.tee $2 i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer @@ -2484,11 +2512,11 @@ i32.store local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $2 + local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -2500,14 +2528,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store - local.get $2 + local.get $3 local.get $0 i32.load offset=8 i32.const 1 @@ -2526,50 +2554,50 @@ i32.store local.get $0 i32.load offset=4 - local.get $2 + local.get $3 i32.const 1 i32.shl i32.add i32.load16_s - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 local.get $2 - local.get $4 + local.get $3 + local.get $5 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|0 end end i32.const 0 - local.set $2 + local.set $3 loop $for-loop|1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 call $~lib/typedarray/Float32Array#get:length - local.get $2 + local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $2 + local.get $3 i32.add - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 @@ -2580,14 +2608,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $1 i32.store - local.get $2 + local.get $3 local.get $1 i32.load offset=8 i32.const 2 @@ -2606,25 +2634,25 @@ i32.store local.get $1 i32.load offset=4 - local.get $2 + local.get $3 i32.const 2 i32.shl i32.add f32.load - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $4 + local.get $2 local.get $5 + local.get $4 i64.trunc_sat_f32_u call $~lib/typedarray/Uint64Array#__set - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|1 end end @@ -2632,7 +2660,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 return end i32.const 35072 @@ -2869,7 +2897,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$243 + block $__inlined_func$~lib/rt/itcms/__renew$270 i32.const 1073741820 local.get $2 i32.const 1 @@ -2912,7 +2940,7 @@ i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$243 + br $__inlined_func$~lib/rt/itcms/__renew$270 end local.get $3 local.get $4 @@ -3157,215 +3185,6 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/array/Array#get:length - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $7 - i32.const 268435455 - i32.gt_u - if - i32.const 1248 - i32.const 1920 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $7 - local.get $7 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $3 - local.get $5 - i32.store - local.get $3 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - local.get $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - loop $for-loop|0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $3 - local.get $2 - local.get $4 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 0 - local.set $2 - loop $for-loop|1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.add - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $3 - local.get $4 - local.get $5 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) (func $export:bindings/esm/bufferFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -3630,7 +3449,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - block $__inlined_func$bindings/esm/staticarrayFunction (result i32) + block $__inlined_func$bindings/esm/staticarrayFunction$1 (result i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -3786,7 +3605,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 - br $__inlined_func$bindings/esm/staticarrayFunction + br $__inlined_func$bindings/esm/staticarrayFunction$1 end br $folding-inner1 end @@ -3834,7 +3653,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3865,20 +3683,20 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $0 i32.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#get:length - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 call $~lib/array/Array#get:length - local.get $3 + local.get $4 i32.add - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -3897,9 +3715,37 @@ i32.const 16 i32.const 11 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 i32.const 268435455 i32.gt_u if @@ -3912,54 +3758,54 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $3 - local.get $3 - i32.const 8 + local.get $5 + local.get $5 + i32.const 8 i32.le_u select i32.const 2 i32.shl - local.tee $7 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 i32.store offset=12 + local.get $6 local.get $4 - local.get $5 i32.store + local.get $6 local.get $4 - local.get $5 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 local.get $4 - i32.store offset=8 - local.get $4 - local.get $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - local.get $7 + local.get $6 + i32.store offset=4 + local.get $6 + local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - local.get $3 + local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer @@ -3971,12 +3817,12 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 - local.get $4 + local.get $6 local.get $2 local.get $0 local.get $2 @@ -4001,7 +3847,7 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -4014,7 +3860,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $4 + local.get $6 local.get $3 local.get $1 local.get $2 @@ -4035,7 +3881,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $6 return end i32.const 35072 @@ -4046,48 +3892,20 @@ unreachable ) (func $export:bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - if - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - local.get $1 - call $bindings/esm/arrayOfStringsFunction - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -4095,108 +3913,472 @@ local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $0 + call $~lib/array/Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $4 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner0 - local.get $0 - local.set $2 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 68 - i32.const 13 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 12 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $5 i32.store offset=4 + local.get $5 + i32.const 0 + i32.store + local.get $5 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 i32.const 0 - i32.store - local.get $0 - i32.eqz + i32.store offset=12 + local.get $4 + i32.const 268435455 + i32.gt_u if + i32.const 1248 + i32.const 1920 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $4 + local.get $4 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $6 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=12 + local.get $5 + local.get $3 + i32.store + local.get $5 + local.get $3 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $6 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + loop $for-loop|0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $0 + local.get $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $5 + local.get $2 + local.get $3 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $5 + local.get $3 + local.get $4 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $5 + return + end + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store offset=8 + global.get $~lib/memory/__stack_pointer + block $__inlined_func$bindings/esm/PlainObject#constructor$4 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 68 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store16 offset=2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store8 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store16 offset=18 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i64.const 0 + i64.store offset=24 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=32 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=36 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store8 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + f32.const 0 + f32.store offset=44 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + f64.const 0 + f64.store offset=48 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=56 + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=60 + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=64 + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + br $__inlined_func$bindings/esm/PlainObject#constructor$4 + end + br $folding-inner1 + end + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 i32.load8_s local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $0 + local.get $2 local.get $3 local.get $1 i32.load8_s i32.add i32.store8 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=8 - local.get $2 + local.get $0 i32.load16_s offset=2 - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $0 local.get $2 + local.get $0 local.get $1 i32.load16_s offset=2 i32.add @@ -4209,7 +4391,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 return end i32.const 35072 diff --git a/tests/compiler/call-rest.debug.wat b/tests/compiler/call-rest.debug.wat index 53ab22fbb7..af743cb0b0 100644 --- a/tests/compiler/call-rest.debug.wat +++ b/tests/compiler/call-rest.debug.wat @@ -3061,6 +3061,14 @@ local.get $7 i32.store offset=4 local.get $7 + i32.const 0 + call $call-rest/Foo#set:values + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 diff --git a/tests/compiler/call-rest.release.wat b/tests/compiler/call-rest.release.wat index 9f9fcdfc9c..24506bdd09 100644 --- a/tests/compiler/call-rest.release.wat +++ b/tests/compiler/call-rest.release.wat @@ -147,7 +147,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$159 + block $__inlined_func$~lib/rt/itcms/Object#unlink$160 local.get $0 i32.load offset=4 i32.const -4 @@ -171,7 +171,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$159 + br $__inlined_func$~lib/rt/itcms/Object#unlink$160 end local.get $0 i32.load offset=8 @@ -2028,7 +2028,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$153 + block $__inlined_func$~lib/rt/itcms/__renew$154 i32.const 1073741820 local.get $2 i32.const 1 @@ -2071,7 +2071,7 @@ i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$153 + br $__inlined_func$~lib/rt/itcms/__renew$154 end local.get $3 local.get $4 @@ -2211,6 +2211,15 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=4 + local.get $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 4 diff --git a/tests/compiler/class.debug.wat b/tests/compiler/class.debug.wat index 740d99f295..7e5b928f9c 100644 --- a/tests/compiler/class.debug.wat +++ b/tests/compiler/class.debug.wat @@ -2682,6 +2682,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -2711,7 +2743,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2720,7 +2752,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -2733,7 +2765,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -2741,7 +2773,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -2749,7 +2781,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ diff --git a/tests/compiler/class.release.wat b/tests/compiler/class.release.wat index b3a5bb5353..d0d28890f0 100644 --- a/tests/compiler/class.release.wat +++ b/tests/compiler/class.release.wat @@ -109,7 +109,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$136 + block $__inlined_func$~lib/rt/itcms/Object#unlink$139 local.get $0 i32.load offset=4 i32.const -4 @@ -133,7 +133,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$136 + br $__inlined_func$~lib/rt/itcms/Object#unlink$139 end local.get $0 i32.load offset=8 @@ -1668,14 +1668,38 @@ local.tee $2 i32.store global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/array/Array#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 32 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=12 @@ -1684,19 +1708,19 @@ call $~lib/array/Array#set:buffer global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=8 + i32.store offset=4 local.get $2 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=8 + i32.store offset=4 local.get $2 i32.const 32 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=8 + i32.store offset=4 local.get $2 i32.const 0 i32.store offset=12 diff --git a/tests/compiler/constructor.debug.wat b/tests/compiler/constructor.debug.wat index 64ac738324..b607b591d6 100644 --- a/tests/compiler/constructor.debug.wat +++ b/tests/compiler/constructor.debug.wat @@ -2260,6 +2260,11 @@ local.get $a i32.store ) + (func $constructor/EmptyCtorWithFieldNoInit#set:a (param $this i32) (param $a i32) + local.get $this + local.get $a + i32.store + ) (func $constructor/EmptyCtorWithFieldAccess#set:a (param $this i32) (param $a i32) local.get $this local.get $a @@ -2270,6 +2275,11 @@ local.get $a i32.store ) + (func $constructor/JustFieldNoInit#set:a (param $this i32) (param $a i32) + local.get $this + local.get $a + i32.store + ) (func $constructor/CtorReturns#constructor (param $this i32) (result i32) i32.const 0 return @@ -2530,6 +2540,42 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $constructor/EmptyCtorWithFieldNoInit#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $constructor/EmptyCtorWithFieldNoInit#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $constructor/EmptyCtorWithFieldAccess#constructor (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2556,6 +2602,14 @@ local.get $1 i32.store offset=4 local.get $1 + i32.const 0 + call $constructor/EmptyCtorWithFieldAccess#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $constructor/EmptyCtorWithFieldAccess#set:a local.get $this @@ -2683,6 +2737,14 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $constructor/JustFieldNoInit#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3085,34 +3147,6 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $constructor/EmptyCtorWithFieldNoInit#constructor (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $~lib/object/Object#constructor (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/constructor.release.wat b/tests/compiler/constructor.release.wat index 8f5ac86640..339b5624fc 100644 --- a/tests/compiler/constructor.release.wat +++ b/tests/compiler/constructor.release.wat @@ -181,7 +181,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$150 + block $__inlined_func$~lib/rt/itcms/Object#unlink$153 local.get $1 i32.load offset=4 i32.const -4 @@ -205,7 +205,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$150 + br $__inlined_func$~lib/rt/itcms/Object#unlink$153 end local.get $1 i32.load offset=8 @@ -1747,7 +1747,7 @@ local.get $0 global.set $constructor/emptyCtorWithFieldInit global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1755,8 +1755,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 6 @@ -1764,7 +1764,13 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1790,6 +1796,12 @@ local.get $0 i32.store offset=4 local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 i32.store global.get $~lib/memory/__stack_pointer @@ -1892,6 +1904,12 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/duplicate-fields.debug.wat b/tests/compiler/duplicate-fields.debug.wat index 03b34f2366..d8ebed0ef6 100644 --- a/tests/compiler/duplicate-fields.debug.wat +++ b/tests/compiler/duplicate-fields.debug.wat @@ -2357,6 +2357,26 @@ local.get $this i32.load ) + (func $duplicate-fields/A3#set:prot (param $this i32) (param $prot i32) + local.get $this + local.get $prot + i32.store + ) + (func $duplicate-fields/A3#set:pub (param $this i32) (param $pub i32) + local.get $this + local.get $pub + i32.store offset=4 + ) + (func $duplicate-fields/B3#set:prot (param $this i32) (param $prot i32) + local.get $this + local.get $prot + i32.store + ) + (func $duplicate-fields/B3#set:pub (param $this i32) (param $pub i32) + local.get $this + local.get $pub + i32.store offset=4 + ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) global.get $duplicate-fields/foo @@ -2506,6 +2526,14 @@ local.get $2 i32.store offset=4 local.get $2 + i32.const 0 + call $duplicate-fields/A#set:bar + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 local.get $bar call $duplicate-fields/A#set:bar local.get $this @@ -2536,6 +2564,14 @@ local.tee $this i32.store end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $duplicate-fields/B#set:bar global.get $~lib/memory/__stack_pointer local.get $this local.set $2 @@ -2592,6 +2628,14 @@ local.get $2 i32.store offset=4 local.get $2 + i32.const 0 + call $duplicate-fields/A2#set:bar + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 local.get $bar local.set $2 global.get $~lib/memory/__stack_pointer @@ -2630,6 +2674,14 @@ local.tee $this i32.store end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $duplicate-fields/B2#set:bar global.get $~lib/memory/__stack_pointer local.get $this local.set $2 @@ -2693,6 +2745,14 @@ local.get $2 i32.store offset=4 local.get $2 + i32.const 0 + call $duplicate-fields/Foo#set:foo + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 local.get $foo call $duplicate-fields/Foo#set:foo local.get $this @@ -2736,6 +2796,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $duplicate-fields/A3#set:prot + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $duplicate-fields/A3#set:pub + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2774,6 +2850,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $duplicate-fields/B3#set:prot + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $duplicate-fields/B3#set:pub + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/duplicate-fields.release.wat b/tests/compiler/duplicate-fields.release.wat index 83315fea51..5bd2b707b9 100644 --- a/tests/compiler/duplicate-fields.release.wat +++ b/tests/compiler/duplicate-fields.release.wat @@ -116,7 +116,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$132 + block $__inlined_func$~lib/rt/itcms/Object#unlink$139 local.get $0 i32.load offset=4 i32.const -4 @@ -140,7 +140,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$132 + br $__inlined_func$~lib/rt/itcms/Object#unlink$139 end local.get $0 i32.load offset=8 @@ -1706,6 +1706,12 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 @@ -1734,6 +1740,12 @@ local.get $0 i32.store offset=4 local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 10 i32.store global.get $~lib/memory/__stack_pointer @@ -1791,6 +1803,12 @@ local.get $1 i32.store offset=4 local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 i32.store global.get $~lib/memory/__stack_pointer @@ -1821,6 +1839,12 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $duplicate-fields/A2#set:bar + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 @@ -1854,6 +1878,12 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 + local.get $0 + i32.const 0 + call $duplicate-fields/A2#set:bar + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 @@ -1976,12 +2006,36 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-baseaggregate.debug.wat b/tests/compiler/extends-baseaggregate.debug.wat index 10a8a76897..ae6d22ffe4 100644 --- a/tests/compiler/extends-baseaggregate.debug.wat +++ b/tests/compiler/extends-baseaggregate.debug.wat @@ -6,8 +6,9 @@ (type $4 (func (param i32 i32) (result i32))) (type $5 (func (param i32 i32 i32))) (type $6 (func (param i32 i32 i32 i32))) - (type $7 (func (param i32 i32 i64) (result i32))) - (type $8 (func (result i32))) + (type $7 (func (param i32 f64))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $extends-baseaggregate/poolB i32 (i32.const 64)) (global $extends-baseaggregate/poolA i32 (i32.const 144)) @@ -2250,67 +2251,15 @@ local.get $ptr return ) - (func $~lib/array/Array#get:length_ (param $this i32) (result i32) - local.get $this - i32.load offset=12 - ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) + (func $extends-baseaggregate/A1#set:padding0 (param $this i32) (param $padding0 f64) local.get $this - i32.load offset=8 + local.get $padding0 + f64.store ) - (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) + (func $extends-baseaggregate/A1#set:padding1 (param $this i32) (param $padding1 f64) local.get $this - i32.load - ) - (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) - local.get $this - i32.load offset=16 - ) - (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) - (local $oldObj i32) - (local $newPtr i32) - (local $4 i32) - (local $5 i32) - local.get $oldPtr - i32.const 20 - i32.sub - local.set $oldObj - local.get $size - local.get $oldObj - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $oldObj - local.get $size - call $~lib/rt/itcms/Object#set:rtSize - local.get $oldPtr - return - end - local.get $size - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtId - call $~lib/rt/itcms/__new - local.set $newPtr - local.get $newPtr - local.get $oldPtr - local.get $size - local.tee $4 - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtSize - local.tee $5 - local.get $4 - local.get $5 - i32.lt_u - select - memory.copy - local.get $newPtr - return + local.get $padding1 + f64.store offset=8 ) (func $~lib/rt/itcms/__link (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2380,6 +2329,77 @@ end end ) + (func $extends-baseaggregate/A1#set:c1 (param $this i32) (param $c1 i32) + local.get $this + local.get $c1 + i32.store offset=16 + local.get $this + local.get $c1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#get:length_ (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) + local.get $this + i32.load offset=16 + ) + (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) + (local $oldObj i32) + (local $newPtr i32) + (local $4 i32) + (local $5 i32) + local.get $oldPtr + i32.const 20 + i32.sub + local.set $oldObj + local.get $size + local.get $oldObj + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $oldObj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $oldPtr + return + end + local.get $size + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtId + call $~lib/rt/itcms/__new + local.set $newPtr + local.get $newPtr + local.get $oldPtr + local.get $size + local.tee $4 + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtSize + local.tee $5 + local.get $4 + local.get $5 + i32.lt_u + select + memory.copy + local.get $newPtr + return + ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this i32.load offset=4 @@ -2604,6 +2624,30 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f64.const 0 + call $extends-baseaggregate/A1#set:padding0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f64.const 0 + call $extends-baseaggregate/A1#set:padding1 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $extends-baseaggregate/A1#set:c1 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-baseaggregate.release.wat b/tests/compiler/extends-baseaggregate.release.wat index 7fa6f9c971..997ed95a65 100644 --- a/tests/compiler/extends-baseaggregate.release.wat +++ b/tests/compiler/extends-baseaggregate.release.wat @@ -6,6 +6,7 @@ (type $4 (func (param i32 i32 i32 i32))) (type $5 (func (param i32 i32 i64))) (type $6 (func (result i32))) + (type $7 (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -119,7 +120,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$139 + block $__inlined_func$~lib/rt/itcms/Object#unlink$142 local.get $0 i32.load offset=4 i32.const -4 @@ -143,7 +144,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$139 + br $__inlined_func$~lib/rt/itcms/Object#unlink$142 end local.get $0 i32.load offset=8 @@ -1543,47 +1544,60 @@ memory.fill local.get $1 ) - (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 i32.eqz if return end - global.get $~lib/rt/itcms/white local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1280 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if - i32.const 1152 - i32.load + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 i32.const 3 i32.and - local.tee $2 + local.tee $3 global.get $~lib/rt/itcms/white i32.eqz i32.eq if - i32.const 1148 local.get $0 local.get $1 + local.get $2 select call $~lib/rt/itcms/Object#makeGray else global.get $~lib/rt/itcms/state i32.const 1 i32.eq - local.get $2 + local.get $3 i32.const 3 i32.eq i32.and if - local.get $0 + local.get $1 call $~lib/rt/itcms/Object#makeGray end end @@ -1773,11 +1787,11 @@ i32.const 20 i32.const 7 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $6 i32.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -1790,19 +1804,19 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $5 + local.get $6 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 20 i32.const 5 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $6 i32.store end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1815,34 +1829,56 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $5 + local.get $6 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $6 i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + f64.const 0 + f64.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + f64.const 0 + f64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=16 + local.get $6 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1860,11 +1896,11 @@ i32.store i32.const 1180 i32.load - local.tee $4 + local.tee $5 i32.const 1 i32.add - local.tee $3 - local.set $0 + local.tee $4 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1879,15 +1915,15 @@ global.get $~lib/memory/__stack_pointer i32.const 1168 i32.store - local.get $0 + local.get $2 i32.const 1176 i32.load - local.tee $1 + local.tee $0 i32.const 2 i32.shr_u i32.gt_u if - local.get $0 + local.get $2 i32.const 268435455 i32.gt_u if @@ -1901,20 +1937,20 @@ global.get $~lib/memory/__stack_pointer i32.const 1168 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$138 + block $__inlined_func$~lib/rt/itcms/__renew$141 i32.const 1073741820 - local.get $1 + local.get $0 i32.const 1 i32.shl - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 1073741820 i32.ge_u select local.tee $1 i32.const 8 - local.get $0 - local.get $0 + local.get $2 + local.get $2 i32.const 8 i32.le_u select @@ -1925,13 +1961,13 @@ local.get $1 i32.lt_u select - local.tee $2 + local.tee $3 i32.const 1168 i32.load - local.tee $1 + local.tee $0 i32.const 20 i32.sub - local.tee $6 + local.tee $2 i32.load i32.const -4 i32.and @@ -1939,26 +1975,26 @@ i32.sub i32.le_u if - local.get $6 local.get $2 + local.get $3 i32.store offset=16 - local.get $1 - local.set $0 - br $__inlined_func$~lib/rt/itcms/__renew$138 + local.get $0 + local.set $1 + br $__inlined_func$~lib/rt/itcms/__renew$141 end + local.get $3 local.get $2 - local.get $6 i32.load offset=12 call $~lib/rt/itcms/__new - local.tee $0 - local.get $1 + local.tee $1 + local.get $0 + local.get $3 local.get $2 - local.get $6 i32.load offset=16 - local.tee $6 + local.tee $2 local.get $2 - local.get $6 - i32.lt_u + local.get $3 + i32.gt_u select memory.copy end @@ -1967,17 +2003,18 @@ i32.ne if i32.const 1168 - local.get $0 + local.get $1 i32.store i32.const 1172 - local.get $0 + local.get $1 i32.store - local.get $0 + i32.const 1168 + local.get $1 i32.const 0 call $~lib/rt/itcms/__link end i32.const 1176 - local.get $2 + local.get $3 i32.store end global.get $~lib/memory/__stack_pointer @@ -1989,20 +2026,21 @@ i32.store i32.const 1172 i32.load - local.get $4 + local.get $5 i32.const 2 i32.shl i32.add - local.get $5 + local.get $6 i32.store - local.get $5 + i32.const 1168 + local.get $6 i32.const 1 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 1168 i32.store i32.const 1180 - local.get $3 + local.get $4 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/extends-recursive.debug.wat b/tests/compiler/extends-recursive.debug.wat index 2984c7c9aa..e0d1b59343 100644 --- a/tests/compiler/extends-recursive.debug.wat +++ b/tests/compiler/extends-recursive.debug.wat @@ -3,8 +3,8 @@ (type $1 (func (param i32 i32))) (type $2 (func (param i32))) (type $3 (func)) - (type $4 (func (param i32 i32) (result i32))) - (type $5 (func (param i32 i32 i32))) + (type $4 (func (param i32 i32 i32))) + (type $5 (func (param i32 i32) (result i32))) (type $6 (func (param i32 i32 i32 i32))) (type $7 (func (param i32 i32 i64) (result i32))) (type $8 (func (result i32))) @@ -2241,6 +2241,83 @@ local.get $ptr return ) + (func $~lib/rt/itcms/__link (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) + (local $child i32) + (local $parent i32) + (local $parentColor i32) + local.get $childPtr + i32.eqz + if + return + end + i32.const 1 + drop + local.get $parentPtr + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $childPtr + i32.const 20 + i32.sub + local.set $child + local.get $child + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $parentPtr + i32.const 20 + i32.sub + local.set $parent + local.get $parent + call $~lib/rt/itcms/Object#get:color + local.set $parentColor + local.get $parentColor + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $expectMultiple + if + local.get $parent + call $~lib/rt/itcms/Object#makeGray + else + local.get $child + call $~lib/rt/itcms/Object#makeGray + end + else + local.get $parentColor + i32.const 3 + i32.eq + if (result i32) + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + else + i32.const 0 + end + if + local.get $child + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) + (func $extends-recursive/Parent#set:child (param $this i32) (param $child i32) + local.get $this + local.get $child + i32.store + local.get $this + local.get $child + i32.const 0 + call $~lib/rt/itcms/__link + ) (func $start:extends-recursive memory.size i32.const 16 @@ -2385,6 +2462,14 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $extends-recursive/Parent#set:child + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-recursive.release.wat b/tests/compiler/extends-recursive.release.wat index 2cd3066ab6..5ccacc74bf 100644 --- a/tests/compiler/extends-recursive.release.wat +++ b/tests/compiler/extends-recursive.release.wat @@ -90,19 +90,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load offset=4 i32.const 3 i32.and i32.eq if - local.get $1 + local.get $0 global.get $~lib/rt/itcms/iter i32.eq if - local.get $1 + local.get $0 i32.load offset=8 - local.tee $0 + local.tee $1 i32.eqz if i32.const 0 @@ -112,21 +112,21 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$114 - local.get $1 + block $__inlined_func$~lib/rt/itcms/Object#unlink$116 + local.get $0 i32.load offset=4 i32.const -4 i32.and - local.tee $0 + local.tee $1 i32.eqz if - local.get $1 + local.get $0 i32.load offset=8 i32.eqz - local.get $1 + local.get $0 i32.const 34236 i32.lt_u i32.and @@ -139,9 +139,9 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$114 + br $__inlined_func$~lib/rt/itcms/Object#unlink$116 end - local.get $1 + local.get $0 i32.load offset=8 local.tee $2 i32.eqz @@ -153,11 +153,11 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 local.get $2 i32.store offset=8 local.get $2 - local.get $0 + local.get $1 local.get $2 i32.load offset=4 i32.const 3 @@ -167,15 +167,15 @@ end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $1 + local.get $0 i32.load offset=12 - local.tee $0 + local.tee $1 i32.const 2 i32.le_u if (result i32) i32.const 1 else - local.get $0 + local.get $1 i32.const 1440 i32.load i32.gt_u @@ -187,7 +187,7 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 2 i32.shl i32.const 1444 @@ -199,8 +199,8 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $0 - local.get $1 + local.set $1 + local.get $0 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 @@ -209,19 +209,19 @@ local.get $2 i32.or i32.store offset=4 - local.get $1 local.get $0 + local.get $1 i32.store offset=8 - local.get $0 local.get $1 local.get $0 + local.get $1 i32.load offset=4 i32.const 3 i32.and i32.or i32.store offset=4 local.get $2 - local.get $1 + local.get $0 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 @@ -1548,7 +1548,7 @@ (local $0 i32) (local $1 i32) (local $2 i32) - block $__inlined_func$start:extends-recursive + block $__inlined_func$start:extends-recursive$1 memory.size i32.const 16 i32.shl @@ -1656,6 +1656,12 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1665,7 +1671,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$start:extends-recursive + br $__inlined_func$start:extends-recursive$1 end i32.const 34256 i32.const 34304 diff --git a/tests/compiler/field-initialization.debug.wat b/tests/compiler/field-initialization.debug.wat index 15b078c0d5..acb835fa02 100644 --- a/tests/compiler/field-initialization.debug.wat +++ b/tests/compiler/field-initialization.debug.wat @@ -2261,6 +2261,11 @@ local.get $this i32.load ) + (func $field-initialization/Value#set:a (param $this i32) (param $a i32) + local.get $this + local.get $a + i32.store + ) (func $field-initialization/Value#get:a (param $this i32) (result i32) local.get $this i32.load @@ -2359,10 +2364,24 @@ local.get $this i32.load ) + (func $field-initialization/Nullable#set:a (param $this i32) (param $a i32) + local.get $this + local.get $a + i32.store + local.get $this + local.get $a + i32.const 0 + call $~lib/rt/itcms/__link + ) (func $field-initialization/Nullable#get:a (param $this i32) (result i32) local.get $this i32.load ) + (func $field-initialization/Value_Ctor#set:a (param $this i32) (param $a i32) + local.get $this + local.get $a + i32.store + ) (func $field-initialization/Value_Ctor#get:a (param $this i32) (result i32) local.get $this i32.load @@ -2424,6 +2443,15 @@ local.get $this i32.load ) + (func $field-initialization/Nullable_Ctor#set:a (param $this i32) (param $a i32) + local.get $this + local.get $a + i32.store + local.get $this + local.get $a + i32.const 0 + call $~lib/rt/itcms/__link + ) (func $field-initialization/Nullable_Ctor#get:a (param $this i32) (result i32) local.get $this i32.load @@ -2467,6 +2495,20 @@ local.get $this i32.load ) + (func $field-initialization/SomeObject#set:a (param $this i32) (param $a i32) + local.get $this + local.get $a + i32.store + ) + (func $field-initialization/SomeObject#set:b (param $this i32) (param $b i32) + local.get $this + local.get $b + i32.store offset=4 + local.get $this + local.get $b + i32.const 0 + call $~lib/rt/itcms/__link + ) (func $field-initialization/SomeObject#get:a (param $this i32) (result i32) local.get $this i32.load @@ -2592,20 +2634,6 @@ i32.const 0 return ) - (func $field-initialization/SomeObject#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - ) - (func $field-initialization/SomeObject#set:b (param $this i32) (param $b i32) - local.get $this - local.get $b - i32.store offset=4 - local.get $this - local.get $b - i32.const 0 - call $~lib/rt/itcms/__link - ) (func $field-initialization/SomeOtherObject#set:c (param $this i32) (param $c i32) local.get $this local.get $c @@ -3079,6 +3107,14 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $field-initialization/Value#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3229,6 +3265,50 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $field-initialization/Nullable#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $field-initialization/Value_Ctor#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $field-initialization/Value_Ctor#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3296,6 +3376,14 @@ local.get $1 i32.store offset=4 local.get $1 + i32.const 0 + call $field-initialization/Value_Ctor_Init#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $field-initialization/Value_Ctor_Init#set:a local.get $this @@ -3382,6 +3470,14 @@ i32.store offset=4 local.get $1 i32.const 0 + call $field-initialization/Ref_Ctor_Init#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -3442,6 +3538,42 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) + (func $field-initialization/Nullable_Ctor#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $field-initialization/Nullable_Ctor#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $field-initialization/Nullable_Init_Ctor#constructor (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3518,6 +3650,14 @@ i32.store offset=4 local.get $1 i32.const 0 + call $field-initialization/Nullable_Ctor_Init#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -3699,6 +3839,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $field-initialization/SomeObject#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $field-initialization/SomeObject#set:b + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3833,6 +3989,14 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $field-initialization/SomeOtherObject#set:c + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3861,6 +4025,14 @@ local.tee $this i32.store end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $field-initialization/Flow_Balanced#set:a local.get $cond if local.get $this @@ -4866,6 +5038,14 @@ i32.store offset=4 local.get $34 i32.const 0 + call $field-initialization/Ref_InlineCtor_Init#set:a + local.get $32 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store offset=4 + local.get $34 + i32.const 0 i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $34 @@ -4969,60 +5149,4 @@ local.get $3 return ) - (func $field-initialization/Value_Ctor#constructor (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $field-initialization/Nullable_Ctor#constructor (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) ) diff --git a/tests/compiler/field-initialization.release.wat b/tests/compiler/field-initialization.release.wat index 416e5fc382..c5911e7208 100644 --- a/tests/compiler/field-initialization.release.wat +++ b/tests/compiler/field-initialization.release.wat @@ -120,7 +120,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$229 + block $__inlined_func$~lib/rt/itcms/Object#unlink$241 local.get $0 i32.load offset=4 i32.const -4 @@ -144,7 +144,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$229 + br $__inlined_func$~lib/rt/itcms/Object#unlink$241 end local.get $0 i32.load offset=8 @@ -1754,6 +1754,21 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1872,7 +1887,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$107 + block $__inlined_func$~lib/util/string/compareImpl$118 loop $while-continue|1 local.get $0 local.tee $3 @@ -1892,7 +1907,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$107 + br_if $__inlined_func$~lib/util/string/compareImpl$118 local.get $2 i32.const 2 i32.add @@ -1956,6 +1971,15 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2090,6 +2114,12 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2261,6 +2291,15 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2281,7 +2320,7 @@ end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2289,8 +2328,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 9 @@ -2298,7 +2337,13 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2383,6 +2428,12 @@ local.get $1 i32.store offset=4 local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 i32.store global.get $~lib/memory/__stack_pointer @@ -2485,6 +2536,15 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer @@ -2579,7 +2639,7 @@ end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2587,8 +2647,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 15 @@ -2596,7 +2656,16 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2693,6 +2762,15 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer @@ -3211,6 +3289,15 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer @@ -3289,6 +3376,15 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/infer-generic.debug.wat b/tests/compiler/infer-generic.debug.wat index 5e894fd0c4..e5325dead1 100644 --- a/tests/compiler/infer-generic.debug.wat +++ b/tests/compiler/infer-generic.debug.wat @@ -2605,6 +2605,14 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $infer-generic/Ref#set:x + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/infer-generic.release.wat b/tests/compiler/infer-generic.release.wat index 18a0f25673..c09c4b901d 100644 --- a/tests/compiler/infer-generic.release.wat +++ b/tests/compiler/infer-generic.release.wat @@ -144,7 +144,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$137 + block $__inlined_func$~lib/rt/itcms/Object#unlink$138 local.get $1 i32.load offset=4 i32.const -4 @@ -168,7 +168,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$137 + br $__inlined_func$~lib/rt/itcms/Object#unlink$138 end local.get $1 i32.load offset=8 @@ -1810,6 +1810,12 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/inlining.debug.wat b/tests/compiler/inlining.debug.wat index 1d06017ded..1478d40aca 100644 --- a/tests/compiler/inlining.debug.wat +++ b/tests/compiler/inlining.debug.wat @@ -2893,6 +2893,14 @@ local.get $5 i32.const 3 call $inlining/Bar#set:d + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + call $inlining/Bar#set:e global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $this @@ -2924,6 +2932,14 @@ local.get $5 i32.store offset=4 local.get $5 + i32.const 0 + call $inlining/Baz#set:b + local.get $this|2 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 local.get $c call $inlining/Baz#set:b local.get $this|2 diff --git a/tests/compiler/inlining.release.wat b/tests/compiler/inlining.release.wat index befc30cc22..bb306de122 100644 --- a/tests/compiler/inlining.release.wat +++ b/tests/compiler/inlining.release.wat @@ -134,7 +134,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$123 + block $__inlined_func$~lib/rt/itcms/Object#unlink$125 local.get $1 i32.load offset=4 i32.const -4 @@ -158,7 +158,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$123 + br $__inlined_func$~lib/rt/itcms/Object#unlink$125 end local.get $1 i32.load offset=8 @@ -1539,6 +1539,217 @@ memory.fill local.get $1 ) + (func $start:inlining + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1556 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 2 + i32.const 1104 + i32.load + call_indirect (type $2) + drop + global.get $~lib/memory/__stack_pointer + i32.const 123 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 123 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + memory.size + i32.const 16 + i32.shl + i32.const 34324 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1252 + i32.const 1248 + i32.store + i32.const 1256 + i32.const 1248 + i32.store + i32.const 1248 + global.set $~lib/rt/itcms/pinSpace + i32.const 1284 + i32.const 1280 + i32.store + i32.const 1288 + i32.const 1280 + i32.store + i32.const 1280 + global.set $~lib/rt/itcms/toSpace + i32.const 1428 + i32.const 1424 + i32.store + i32.const 1432 + i32.const 1424 + i32.store + i32.const 1424 + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1556 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=8 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 2 + i32.store offset=4 + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 4 + i32.store offset=12 + local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 96 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=4 + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 97 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 98 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=12 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 99 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34352 + i32.const 34400 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $~lib/math/NativeMath.cbrt (param $0 f64) (result f64) (local $1 i32) (local $2 i64) @@ -1761,204 +1972,6 @@ unreachable ) (func $~start - (local $0 i32) - (local $1 i32) - (local $2 i32) - block $__inlined_func$start:inlining - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1556 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - i32.const 2 - i32.const 1104 - i32.load - call_indirect (type $2) - drop - global.get $~lib/memory/__stack_pointer - i32.const 123 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 123 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - memory.size - i32.const 16 - i32.shl - i32.const 34324 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1252 - i32.const 1248 - i32.store - i32.const 1256 - i32.const 1248 - i32.store - i32.const 1248 - global.set $~lib/rt/itcms/pinSpace - i32.const 1284 - i32.const 1280 - i32.store - i32.const 1288 - i32.const 1280 - i32.store - i32.const 1280 - global.set $~lib/rt/itcms/toSpace - i32.const 1428 - i32.const 1424 - i32.store - i32.const 1432 - i32.const 1424 - i32.store - i32.const 1424 - global.set $~lib/rt/itcms/fromSpace - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1556 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store offset=8 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.store offset=4 - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - i32.store offset=12 - local.get $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 96 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 97 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 98 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=12 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 99 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$start:inlining - end - i32.const 34352 - i32.const 34400 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + call $start:inlining ) ) diff --git a/tests/compiler/issues/1225.debug.wat b/tests/compiler/issues/1225.debug.wat index ad0e33bb26..b87f40c3c9 100644 --- a/tests/compiler/issues/1225.debug.wat +++ b/tests/compiler/issues/1225.debug.wat @@ -2477,6 +2477,22 @@ local.get $2 i32.store offset=4 local.get $2 + i32.const 0 + call $issues/1225/X#set:normal + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $issues/1225/X#set:viaThis + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 local.get $this local.set $2 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/issues/1225.release.wat b/tests/compiler/issues/1225.release.wat index ea4687ae29..be387fc91c 100644 --- a/tests/compiler/issues/1225.release.wat +++ b/tests/compiler/issues/1225.release.wat @@ -126,7 +126,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$117 + block $__inlined_func$~lib/rt/itcms/Object#unlink$119 local.get $1 i32.load offset=4 i32.const -4 @@ -150,7 +150,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$117 + br $__inlined_func$~lib/rt/itcms/Object#unlink$119 end local.get $1 i32.load offset=8 @@ -1472,6 +1472,18 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 diff --git a/tests/compiler/issues/1699.debug.wat b/tests/compiler/issues/1699.debug.wat index 11b6e1a3d6..168e3faaaf 100644 --- a/tests/compiler/issues/1699.debug.wat +++ b/tests/compiler/issues/1699.debug.wat @@ -2545,6 +2545,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -2574,7 +2606,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2583,7 +2615,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -2596,7 +2628,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -2604,7 +2636,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -2612,7 +2644,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ diff --git a/tests/compiler/issues/1699.release.wat b/tests/compiler/issues/1699.release.wat index 3e6ab4dff7..80c73bc8a5 100644 --- a/tests/compiler/issues/1699.release.wat +++ b/tests/compiler/issues/1699.release.wat @@ -113,7 +113,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$143 + block $__inlined_func$~lib/rt/itcms/Object#unlink$146 local.get $0 i32.load offset=4 i32.const -4 @@ -137,7 +137,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$143 + br $__inlined_func$~lib/rt/itcms/Object#unlink$146 end local.get $0 i32.load offset=8 @@ -1600,7 +1600,6 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) memory.size i32.const 16 i32.shl @@ -1637,11 +1636,11 @@ i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 28 @@ -1654,7 +1653,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -1668,14 +1667,42 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 32 i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 @@ -1688,19 +1715,19 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 i32.const 32 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 i32.const 3 i32.store offset=12 @@ -1753,7 +1780,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -2106,7 +2133,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$142 + block $__inlined_func$~lib/rt/itcms/__renew$145 i32.const 1073741820 local.get $4 i32.const 1 @@ -2149,7 +2176,7 @@ i32.store offset=16 local.get $4 local.set $3 - br $__inlined_func$~lib/rt/itcms/__renew$142 + br $__inlined_func$~lib/rt/itcms/__renew$145 end local.get $5 local.get $7 diff --git a/tests/compiler/issues/2322/index.debug.wat b/tests/compiler/issues/2322/index.debug.wat index 86b20889ec..febbe4e10f 100644 --- a/tests/compiler/issues/2322/index.debug.wat +++ b/tests/compiler/issues/2322/index.debug.wat @@ -2242,6 +2242,11 @@ local.get $ptr return ) + (func $issues/2322/lib/Wrapper#set:v (param $this i32) (param $v i32) + local.get $this + local.get $v + i32.store + ) (func $issues/2322/lib/test (param $t i32) ) (func $~lib/rt/__visit_globals (param $0 i32) @@ -2358,6 +2363,14 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $issues/2322/lib/Wrapper#set:v + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/issues/2322/index.release.wat b/tests/compiler/issues/2322/index.release.wat index 46f12de6a8..9349beea7c 100644 --- a/tests/compiler/issues/2322/index.release.wat +++ b/tests/compiler/issues/2322/index.release.wat @@ -116,7 +116,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$111 + block $__inlined_func$~lib/rt/itcms/Object#unlink$112 local.get $1 i32.load offset=4 i32.const -4 @@ -140,7 +140,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$111 + br $__inlined_func$~lib/rt/itcms/Object#unlink$112 end local.get $1 i32.load offset=8 @@ -1647,6 +1647,12 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/object-literal.debug.wat b/tests/compiler/object-literal.debug.wat index df1a074737..f5a5c6902a 100644 --- a/tests/compiler/object-literal.debug.wat +++ b/tests/compiler/object-literal.debug.wat @@ -5,14 +5,17 @@ (type $3 (func)) (type $4 (func (param i32 i32) (result i32))) (type $5 (func (param i32 i32 i32))) - (type $6 (func (param i32) (result f64))) - (type $7 (func (param i32) (result i64))) - (type $8 (func (param i32 i32 i32 i32))) - (type $9 (func (param i32 i32 i64) (result i32))) - (type $10 (func (result i32))) - (type $11 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $12 (func (param i32) (result f32))) - (type $13 (func (param i32 i32 i32) (result i32))) + (type $6 (func (param i32 f64))) + (type $7 (func (param i32) (result f64))) + (type $8 (func (param i32 i64))) + (type $9 (func (param i32) (result i64))) + (type $10 (func (param i32 i32 i32 i32))) + (type $11 (func (param i32 i32 i64) (result i32))) + (type $12 (func (result i32))) + (type $13 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $14 (func (param i32 f32))) + (type $15 (func (param i32) (result f32))) + (type $16 (func (param i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/iter (mut i32) (i32.const 0)) @@ -2480,6 +2483,12 @@ local.set $this end local.get $this + i32.const 0 + call $object-literal/Unmanaged#set:bar + local.get $this + i32.const 0 + call $object-literal/Unmanaged#set:baz + local.get $this ) (func $object-literal/Unmanaged#get:bar (param $this i32) (result i32) local.get $this @@ -2489,6 +2498,76 @@ local.get $this i32.load offset=4 ) + (func $object-literal/OmittedTypes#set:int32 (param $this i32) (param $int32 i32) + local.get $this + local.get $int32 + i32.store + ) + (func $object-literal/OmittedTypes#set:uint32 (param $this i32) (param $uint32 i32) + local.get $this + local.get $uint32 + i32.store offset=4 + ) + (func $object-literal/OmittedTypes#set:int64 (param $this i32) (param $int64 i64) + local.get $this + local.get $int64 + i64.store offset=8 + ) + (func $object-literal/OmittedTypes#set:uint64 (param $this i32) (param $uint64 i64) + local.get $this + local.get $uint64 + i64.store offset=16 + ) + (func $object-literal/OmittedTypes#set:float32 (param $this i32) (param $float32 f32) + local.get $this + local.get $float32 + f32.store offset=24 + ) + (func $object-literal/OmittedTypes#set:float64 (param $this i32) (param $float64 f64) + local.get $this + local.get $float64 + f64.store offset=32 + ) + (func $object-literal/OmittedTypes#set:int8 (param $this i32) (param $int8 i32) + local.get $this + local.get $int8 + i32.store8 offset=40 + ) + (func $object-literal/OmittedTypes#set:uint8 (param $this i32) (param $uint8 i32) + local.get $this + local.get $uint8 + i32.store8 offset=41 + ) + (func $object-literal/OmittedTypes#set:int16 (param $this i32) (param $int16 i32) + local.get $this + local.get $int16 + i32.store16 offset=42 + ) + (func $object-literal/OmittedTypes#set:uint16 (param $this i32) (param $uint16 i32) + local.get $this + local.get $uint16 + i32.store16 offset=44 + ) + (func $object-literal/OmittedTypes#set:intsize (param $this i32) (param $intsize i32) + local.get $this + local.get $intsize + i32.store offset=48 + ) + (func $object-literal/OmittedTypes#set:uintsize (param $this i32) (param $uintsize i32) + local.get $this + local.get $uintsize + i32.store offset=52 + ) + (func $object-literal/OmittedTypes#set:alias (param $this i32) (param $alias f64) + local.get $this + local.get $alias + f64.store offset=56 + ) + (func $object-literal/OmittedTypes#set:isTrue (param $this i32) (param $isTrue i32) + local.get $this + local.get $isTrue + i32.store8 offset=64 + ) (func $object-literal/OmittedTypes#get:int32 (param $this i32) (result i32) local.get $this i32.load @@ -2559,6 +2638,11 @@ i32.const 0 call $~lib/rt/itcms/__link ) + (func $object-literal/MixedOmitted#set:anotherSimpleType (param $this i32) (param $anotherSimpleType f64) + local.get $this + local.get $anotherSimpleType + f64.store offset=8 + ) (func $object-literal/MixedOmitted#get:simpleType (param $this i32) (result i32) local.get $this i32.load @@ -2589,6 +2673,65 @@ i32.const 0 call $~lib/rt/itcms/__link ) + (func $object-literal/OmittedFoo#set:quux (param $this i32) (param $quux i32) + local.get $this + local.get $quux + i32.store offset=8 + local.get $this + local.get $quux + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $object-literal/OmittedFoo#set:quuz (param $this i32) (param $quuz i32) + local.get $this + local.get $quuz + i32.store offset=12 + local.get $this + local.get $quuz + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $object-literal/OmittedFoo#set:corge (param $this i32) (param $corge i32) + local.get $this + local.get $corge + i32.store offset=16 + local.get $this + local.get $corge + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $object-literal/OmittedFoo#set:grault (param $this i32) (param $grault i32) + local.get $this + local.get $grault + i32.store offset=20 + local.get $this + local.get $grault + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $object-literal/OmittedFoo#set:garply (param $this i32) (param $garply i32) + local.get $this + local.get $garply + i32.store offset=24 + local.get $this + local.get $garply + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $object-literal/OmittedFoo#set:waldo (param $this i32) (param $waldo i32) + local.get $this + local.get $waldo + i32.store offset=28 + local.get $this + local.get $waldo + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $object-literal/OmittedFoo#set:fred (param $this i32) (param $fred i32) + local.get $this + local.get $fred + i32.store offset=32 + ) (func $object-literal/OmittedFoo#set:qux (param $this i32) (param $qux i32) local.get $this local.get $qux @@ -2854,6 +2997,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/Managed#set:bar + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/Managed#set:baz + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3241,6 +3400,118 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:int32 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:uint32 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + call $object-literal/OmittedTypes#set:int64 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + call $object-literal/OmittedTypes#set:uint64 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f32.const 0 + call $object-literal/OmittedTypes#set:float32 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f64.const 0 + call $object-literal/OmittedTypes#set:float64 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:int8 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:uint8 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:int16 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:uint16 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:intsize + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:uintsize + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f64.const 0 + call $object-literal/OmittedTypes#set:alias + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:isTrue + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3554,6 +3825,30 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/MixedOmitted#set:simpleType + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/MixedOmitted#set:complexType + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f64.const 0 + call $object-literal/MixedOmitted#set:anotherSimpleType + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3685,6 +3980,62 @@ local.get $1 i32.store offset=4 local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:quux + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:quuz + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:corge + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:grault + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:garply + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:waldo + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:fred + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const -1 call $object-literal/OmittedFoo#set:qux local.get $this diff --git a/tests/compiler/object-literal.release.wat b/tests/compiler/object-literal.release.wat index d842a0201f..9070d20967 100644 --- a/tests/compiler/object-literal.release.wat +++ b/tests/compiler/object-literal.release.wat @@ -71,7 +71,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$179 + block $__inlined_func$~lib/rt/itcms/Object#unlink$205 local.get $0 i32.load offset=4 i32.const -4 @@ -95,7 +95,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$179 + br $__inlined_func$~lib/rt/itcms/Object#unlink$205 end local.get $0 i32.load offset=8 @@ -1786,7 +1786,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$79 + block $__inlined_func$~lib/util/string/compareImpl$83 loop $while-continue|1 local.get $0 local.tee $3 @@ -1806,7 +1806,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$79 + br_if $__inlined_func$~lib/util/string/compareImpl$83 local.get $2 i32.const 2 i32.add @@ -2274,11 +2274,11 @@ i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 @@ -2323,7 +2323,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2342,6 +2342,21 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2372,7 +2387,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2426,6 +2441,12 @@ i32.const 4 i32.add local.tee $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 i32.const 123 i32.store global.get $~lib/memory/__stack_pointer @@ -2435,7 +2456,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2461,7 +2482,7 @@ i32.const 1 i32.shl local.set $3 - block $__inlined_func$~lib/string/String#substring$184 + block $__inlined_func$~lib/string/String#substring$210 local.get $2 i32.const 0 local.get $2 @@ -2482,7 +2503,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1568 local.set $0 - br $__inlined_func$~lib/string/String#substring$184 + br $__inlined_func$~lib/string/String#substring$210 end local.get $3 i32.eqz @@ -2499,7 +2520,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1056 local.set $0 - br $__inlined_func$~lib/string/String#substring$184 + br $__inlined_func$~lib/string/String#substring$210 end global.get $~lib/memory/__stack_pointer local.get $2 @@ -2531,7 +2552,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -2578,7 +2599,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2586,68 +2607,152 @@ i32.const 65 i32.const 5 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 call $~lib/object/Object#constructor - local.tee $1 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i64.const 0 + i64.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + f32.const 0 + f32.store offset=24 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + f64.const 0 + f64.store offset=32 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store8 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store8 offset=41 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store16 offset=42 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store16 offset=44 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=48 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=52 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + f64.const 0 + f64.store offset=56 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store8 offset=64 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=12 - local.get $1 + local.get $0 i32.const 0 i32.store - local.get $1 + local.get $0 i32.const 0 i32.store offset=4 - local.get $1 + local.get $0 i64.const 0 i64.store offset=8 - local.get $1 + local.get $0 i64.const 0 i64.store offset=16 - local.get $1 + local.get $0 f32.const 0 f32.store offset=24 - local.get $1 + local.get $0 f64.const 0 f64.store offset=32 - local.get $1 + local.get $0 i32.const 0 i32.store8 offset=40 - local.get $1 + local.get $0 i32.const 0 i32.store8 offset=41 - local.get $1 + local.get $0 i32.const 0 i32.store16 offset=42 - local.get $1 + local.get $0 i32.const 0 i32.store16 offset=44 - local.get $1 + local.get $0 i32.const 0 i32.store offset=48 - local.get $1 + local.get $0 i32.const 0 i32.store offset=52 - local.get $1 + local.get $0 f64.const 0 f64.store offset=56 - local.get $1 + local.get $0 i32.const 0 i32.store8 offset=64 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 call $object-literal/testOmittedTypes global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2657,7 +2762,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2676,6 +2781,27 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f64.const 0 + f64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2709,7 +2835,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2773,7 +2899,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2781,71 +2907,131 @@ i32.const 40 i32.const 7 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 call $~lib/object/Object#constructor - local.tee $1 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1664 i32.store - local.get $1 + local.get $0 i32.const 1664 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1696 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1696 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=12 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=24 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=28 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=32 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const -1 i32.store offset=36 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=20 - local.get $1 + local.get $0 i32.const 0 i32.store offset=8 - local.get $1 + local.get $0 i32.const 0 i32.store offset=12 - local.get $1 + local.get $0 i32.const 0 i32.store offset=16 - local.get $1 + local.get $0 i32.const 0 i32.store offset=20 - local.get $1 + local.get $0 i32.const 0 i32.store offset=24 - local.get $1 + local.get $0 i32.const 0 i32.store offset=28 - local.get $1 + local.get $0 i32.const 0 i32.store offset=32 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 call $object-literal/testOmittedFoo i32.const 34516 global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-access.debug.wat b/tests/compiler/resolve-access.debug.wat index e2532e7221..6dc9f58eb4 100644 --- a/tests/compiler/resolve-access.debug.wat +++ b/tests/compiler/resolve-access.debug.wat @@ -3212,6 +3212,14 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + call $resolve-access/Container#set:foo + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-access.release.wat b/tests/compiler/resolve-access.release.wat index 39a5ba4027..7e043af3e4 100644 --- a/tests/compiler/resolve-access.release.wat +++ b/tests/compiler/resolve-access.release.wat @@ -124,7 +124,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$142 + block $__inlined_func$~lib/rt/itcms/Object#unlink$143 local.get $0 i32.load offset=4 i32.const -4 @@ -148,7 +148,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$142 + br $__inlined_func$~lib/rt/itcms/Object#unlink$143 end local.get $0 i32.load offset=8 @@ -2221,6 +2221,12 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-elementaccess.debug.wat b/tests/compiler/resolve-elementaccess.debug.wat index cdf93fc6c9..77ff64f407 100644 --- a/tests/compiler/resolve-elementaccess.debug.wat +++ b/tests/compiler/resolve-elementaccess.debug.wat @@ -4433,6 +4433,30 @@ local.tee $this i32.store end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -4454,7 +4478,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4463,7 +4487,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 @@ -4476,7 +4500,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -4484,7 +4508,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength diff --git a/tests/compiler/resolve-elementaccess.release.wat b/tests/compiler/resolve-elementaccess.release.wat index 3e819a281a..5e4a644023 100644 --- a/tests/compiler/resolve-elementaccess.release.wat +++ b/tests/compiler/resolve-elementaccess.release.wat @@ -176,7 +176,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$151 + block $__inlined_func$~lib/rt/itcms/Object#unlink$153 local.get $0 i32.load offset=4 i32.const -4 @@ -200,7 +200,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$151 + br $__inlined_func$~lib/rt/itcms/Object#unlink$153 end local.get $0 i32.load offset=8 @@ -1600,6 +1600,61 @@ memory.fill local.get $1 ) + (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $1 + if + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1232 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load offset=4 + i32.const 3 + i32.and + local.tee $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $0 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + end + ) (func $~lib/util/number/genDigits (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) @@ -2902,8 +2957,6 @@ ) (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -2935,6 +2988,24 @@ local.tee $0 i32.store end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 i32.const 1073741820 local.get $1 i32.shr_u @@ -2952,81 +3023,31 @@ i32.const 2 local.get $1 i32.shl - local.tee $1 + local.tee $2 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 + local.tee $1 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 i32.store offset=12 local.get $0 - local.get $3 - i32.store - local.get $3 - if - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1232 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $3 - i32.const 20 - i32.sub - local.tee $4 - i32.load offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load offset=4 - i32.const 3 - i32.and - local.tee $2 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $4 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $2 - i32.const 3 - i32.eq - i32.and - if - local.get $4 - call $~lib/rt/itcms/Object#makeGray - end - end - end - end + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#set:buffer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 - local.get $3 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 - local.get $1 + local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 16 @@ -3251,7 +3272,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$95 + block $__inlined_func$~lib/util/string/compareImpl$97 loop $while-continue|1 local.get $0 local.tee $3 @@ -3271,7 +3292,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$95 + br_if $__inlined_func$~lib/util/string/compareImpl$97 local.get $2 i32.const 2 i32.add diff --git a/tests/compiler/return-unreachable.debug.wat b/tests/compiler/return-unreachable.debug.wat index 00fbb971e2..f66ebe5b52 100644 --- a/tests/compiler/return-unreachable.debug.wat +++ b/tests/compiler/return-unreachable.debug.wat @@ -2481,6 +2481,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -2510,7 +2542,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2519,7 +2551,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -2532,7 +2564,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -2540,7 +2572,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -2548,7 +2580,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ diff --git a/tests/compiler/return-unreachable.release.wat b/tests/compiler/return-unreachable.release.wat index b4e44c5db6..3e068205cc 100644 --- a/tests/compiler/return-unreachable.release.wat +++ b/tests/compiler/return-unreachable.release.wat @@ -108,7 +108,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$118 + block $__inlined_func$~lib/rt/itcms/Object#unlink$121 local.get $0 i32.load offset=4 i32.const -4 @@ -132,7 +132,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$118 + br $__inlined_func$~lib/rt/itcms/Object#unlink$121 end local.get $0 i32.load offset=8 @@ -1532,11 +1532,64 @@ memory.fill local.get $1 ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $1 + if + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1216 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load offset=4 + i32.const 3 + i32.and + local.tee $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $0 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + end + ) (func $return-unreachable/test (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1571,85 +1624,59 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $~lib/array/Array#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 400 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=12 local.get $0 local.get $1 - i32.store - local.get $1 - if - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $2 - i32.load offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load offset=4 - i32.const 3 - i32.and - local.tee $4 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $2 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $4 - i32.const 3 - i32.eq - i32.and - if - local.get $2 - call $~lib/rt/itcms/Object#makeGray - end - end - end - end + call $~lib/array/Array#set:buffer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 i32.const 400 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 i32.const 100 i32.store offset=12 diff --git a/tests/compiler/rt/issue-2719.debug.wat b/tests/compiler/rt/issue-2719.debug.wat index 242203cc8f..2c202baebd 100644 --- a/tests/compiler/rt/issue-2719.debug.wat +++ b/tests/compiler/rt/issue-2719.debug.wat @@ -2242,6 +2242,11 @@ local.get $ptr return ) + (func $rt/issue-2719/issue2719_T#set:v (param $this i32) (param $v i32) + local.get $this + local.get $v + i32.store + ) (func $~lib/rt/itcms/__collect i32.const 0 drop @@ -2288,11 +2293,6 @@ i32.const 0 drop ) - (func $rt/issue-2719/issue2719_T#set:v (param $this i32) (param $v i32) - local.get $this - local.get $v - i32.store - ) (func $rt/issue-2719/issue2719_T#get:v (param $this i32) (result i32) local.get $this i32.load @@ -2395,6 +2395,14 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $rt/issue-2719/issue2719_T#set:v + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/rt/issue-2719.release.wat b/tests/compiler/rt/issue-2719.release.wat index d482c7ab6f..376cd994e9 100644 --- a/tests/compiler/rt/issue-2719.release.wat +++ b/tests/compiler/rt/issue-2719.release.wat @@ -117,7 +117,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$118 + block $__inlined_func$~lib/rt/itcms/Object#unlink$119 local.get $1 i32.load offset=4 i32.const -4 @@ -141,7 +141,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$118 + br $__inlined_func$~lib/rt/itcms/Object#unlink$119 end local.get $1 i32.load offset=8 @@ -1759,6 +1759,12 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/array.debug.wat b/tests/compiler/std/array.debug.wat index d0fa098e06..76974815e0 100644 --- a/tests/compiler/std/array.debug.wat +++ b/tests/compiler/std/array.debug.wat @@ -10094,6 +10094,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -10123,7 +10155,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10132,7 +10164,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -10145,7 +10177,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -10153,7 +10185,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -10161,7 +10193,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -10233,6 +10265,30 @@ local.tee $this i32.store end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -10254,7 +10310,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10263,7 +10319,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 @@ -10276,7 +10332,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -10284,7 +10340,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -16093,6 +16149,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $std/array/Dim#set:height + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $std/array/Dim#set:width + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -20676,6 +20748,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/array/Array>#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/array/Array>#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/array/Array>#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/array/Array>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -20705,7 +20809,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -20714,7 +20818,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -20727,7 +20831,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array<~lib/array/Array>#set:dataStart @@ -20735,7 +20839,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/array/Array>#set:byteLength @@ -20743,7 +20847,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array<~lib/array/Array>#set:length_ @@ -22379,6 +22483,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array>#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array>#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array>#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -22408,7 +22544,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -22417,7 +22553,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -22430,7 +22566,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array>#set:dataStart @@ -22438,7 +22574,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array>#set:byteLength @@ -22446,7 +22582,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array>#set:length_ @@ -25943,6 +26079,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -25972,7 +26140,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -25981,7 +26149,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -25994,7 +26162,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -26002,7 +26170,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -26010,7 +26178,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array<~lib/string/String>#set:length_ diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index 0e2e8ebb13..22943cdb01 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -11,9 +11,9 @@ (type $9 (func (param i32 i32 i32 i32))) (type $10 (func (param i32 i32 i32 i32 i32))) (type $11 (func)) - (type $12 (func (result i32))) - (type $13 (func (result f64))) - (type $14 (func (param i32 i32 i32 i32 i32 i32))) + (type $12 (func (result f64))) + (type $13 (func (param i32 i32 i32 i32 i32 i32))) + (type $14 (func (result i32))) (type $15 (func (param i32 i32 i32) (result f32))) (type $16 (func (param i32 f64) (result i32))) (type $17 (func (param i32 i64) (result i32))) @@ -758,7 +758,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$711 + block $__inlined_func$~lib/rt/itcms/Object#unlink$731 local.get $0 i32.load offset=4 i32.const -4 @@ -782,7 +782,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$711 + br $__inlined_func$~lib/rt/itcms/Object#unlink$731 end local.get $0 i32.load offset=8 @@ -6423,6 +6423,34 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=12 local.get $0 i32.const 268435455 i32.gt_u @@ -6447,10 +6475,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 @@ -6463,19 +6491,19 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 + i32.store offset=4 local.get $1 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 + i32.store offset=4 local.get $1 local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 + i32.store offset=4 local.get $1 local.get $0 i32.store offset=12 @@ -6868,7 +6896,7 @@ i32.lt_s select local.set $0 - block $__inlined_func$~lib/util/bytes/FILL$132 + block $__inlined_func$~lib/util/bytes/FILL$139 local.get $1 i32.eqz local.get $1 @@ -6893,7 +6921,7 @@ i32.shl memory.fill end - br $__inlined_func$~lib/util/bytes/FILL$132 + br $__inlined_func$~lib/util/bytes/FILL$139 end loop $for-loop|0 local.get $0 @@ -7163,7 +7191,7 @@ i32.lt_s select local.set $0 - block $__inlined_func$~lib/util/bytes/FILL$141 + block $__inlined_func$~lib/util/bytes/FILL$148 local.get $1 i32.reinterpret_f32 i32.eqz @@ -7185,7 +7213,7 @@ i32.shl memory.fill end - br $__inlined_func$~lib/util/bytes/FILL$141 + br $__inlined_func$~lib/util/bytes/FILL$148 end loop $for-loop|0 local.get $0 @@ -7565,7 +7593,7 @@ select local.set $1 end - block $__inlined_func$~lib/rt/itcms/__renew$632 + block $__inlined_func$~lib/rt/itcms/__renew$653 local.get $3 i32.const 20 i32.sub @@ -7583,7 +7611,7 @@ i32.store offset=16 local.get $3 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew$632 + br $__inlined_func$~lib/rt/itcms/__renew$653 end local.get $1 local.get $4 @@ -11004,6 +11032,18 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -13046,7 +13086,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - block $__inlined_func$std/array/isSorted$637 (result i32) + block $__inlined_func$std/array/isSorted$658 (result i32) global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 @@ -13114,7 +13154,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isSorted$637 + br $__inlined_func$std/array/isSorted$658 end local.get $0 i32.const 1 @@ -14351,7 +14391,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - block $__inlined_func$std/array/isSorted<~lib/array/Array>$640 (result i32) + block $__inlined_func$std/array/isSorted<~lib/array/Array>$660 (result i32) global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 @@ -14434,7 +14474,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isSorted<~lib/array/Array>$640 + br $__inlined_func$std/array/isSorted<~lib/array/Array>$660 end local.get $1 i32.const 1 @@ -14861,7 +14901,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$716 + block $__inlined_func$~lib/string/String#concat$736 local.get $1 i32.const 20 i32.sub @@ -14880,7 +14920,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/string/String#concat$716 + br $__inlined_func$~lib/string/String#concat$736 end global.get $~lib/memory/__stack_pointer local.get $0 @@ -14917,9 +14957,114 @@ call $~lib/builtins/abort unreachable ) - (func $std/array/createRandomStringArray (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $2 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $1 + local.get $2 + i32.gt_s + select + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.le_s + select + i32.const 1 + i32.shl + local.set $3 + local.get $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.ge_s + select + i32.const 1 + i32.shl + local.tee $4 + local.get $3 + i32.sub + local.tee $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + return + end + local.get $3 + i32.eqz + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.eq + i32.and + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + local.get $1 + local.get $0 + local.get $3 + i32.add + local.get $2 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14927,7 +15072,7 @@ (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -14936,391 +15081,49 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 1600 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 - local.get $0 - local.get $2 i32.store local.get $0 - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store offset=4 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store local.get $0 - i32.const 1600 - i32.store offset=8 + i32.load offset=12 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.const 400 - i32.store offset=12 + local.get $1 + i32.store global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add + i32.const 8 + i32.sub global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $3 - i32.const 400 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$738 + local.get $0 + i32.const 1 + i32.sub + local.tee $7 + i32.const 0 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - call $~lib/math/NativeMath.random - f64.const 32 - f64.mul - i32.trunc_sat_f64_s - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 11568 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 11568 - i32.store - i32.const 0 - local.set $4 - loop $for-loop|00 - local.get $4 - local.get $6 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - call $~lib/math/NativeMath.random - i32.const 10028 - i32.load - i32.const 1 - i32.shr_u - f64.convert_i32_s - f64.mul - f64.floor - i32.trunc_sat_f64_s - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 10032 - i32.store - block $__inlined_func$~lib/string/String#charAt$717 - local.get $5 - i32.const 10028 - i32.load - i32.const 1 - i32.shr_u - i32.ge_u - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11568 - local.set $1 - br $__inlined_func$~lib/string/String#charAt$717 - end - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $1 - local.get $5 - i32.const 1 - i32.shl - i32.const 10032 - i32.add - i32.load16_u - i32.store16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $2 - local.get $1 - call $~lib/string/String.__concat - local.tee $2 - i32.store - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $0 - local.get $3 - local.get $2 - call $~lib/array/Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - local.get $1 - local.get $2 - i32.gt_s - select - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - i32.const 1 - i32.shl - local.set $3 - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.ge_s - select - i32.const 1 - i32.shl - local.tee $4 - local.get $3 - i32.sub - local.tee $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11568 - return - end - local.get $3 - i32.eqz - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.eq - i32.and - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $1 - local.get $0 - local.get $3 - i32.add - local.get $2 - memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=12 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$718 - local.get $0 - i32.const 1 - i32.sub - local.tee $7 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add + i32.const 8 + i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$718 + br $__inlined_func$~lib/util/string/joinIntegerArray$738 end local.get $7 i32.eqz @@ -15333,7 +15136,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$718 + br $__inlined_func$~lib/util/string/joinIntegerArray$738 end global.get $~lib/memory/__stack_pointer local.get $1 @@ -15432,7 +15235,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$718 + br $__inlined_func$~lib/util/string/joinIntegerArray$738 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -15498,7 +15301,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$719 + block $__inlined_func$~lib/util/string/joinIntegerArray$739 local.get $0 i32.const 1 i32.sub @@ -15512,7 +15315,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$719 + br $__inlined_func$~lib/util/string/joinIntegerArray$739 end local.get $7 i32.eqz @@ -15525,7 +15328,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$719 + br $__inlined_func$~lib/util/string/joinIntegerArray$739 end global.get $~lib/memory/__stack_pointer local.get $1 @@ -15624,7 +15427,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$719 + br $__inlined_func$~lib/util/string/joinIntegerArray$739 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -16403,7 +16206,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$720 + block $__inlined_func$~lib/util/string/joinIntegerArray$740 local.get $0 i32.const 1 i32.sub @@ -16417,7 +16220,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$720 + br $__inlined_func$~lib/util/string/joinIntegerArray$740 end local.get $6 i32.eqz @@ -16430,7 +16233,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$720 + br $__inlined_func$~lib/util/string/joinIntegerArray$740 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -16523,7 +16326,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$720 + br $__inlined_func$~lib/util/string/joinIntegerArray$740 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -16599,7 +16402,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $__inlined_func$~lib/util/number/utoa64$464 + block $__inlined_func$~lib/util/number/utoa64$485 local.get $3 i64.eqz if @@ -16609,7 +16412,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7712 local.set $1 - br $__inlined_func$~lib/util/number/utoa64$464 + br $__inlined_func$~lib/util/number/utoa64$485 end local.get $3 i64.const 4294967295 @@ -16948,7 +16751,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$723 + block $__inlined_func$~lib/util/string/joinIntegerArray$743 local.get $0 i32.const 1 i32.sub @@ -16962,7 +16765,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$723 + br $__inlined_func$~lib/util/string/joinIntegerArray$743 end local.get $6 i32.eqz @@ -16975,7 +16778,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$723 + br $__inlined_func$~lib/util/string/joinIntegerArray$743 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -17068,7 +16871,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$723 + br $__inlined_func$~lib/util/string/joinIntegerArray$743 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -17556,16 +17359,17 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 f64) - (local $6 f32) - (local $7 i32) + (local $4 i32) + (local $5 i64) + (local $6 f64) + (local $7 f32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 444 i32.sub @@ -17616,9 +17420,9 @@ global.set $std/array/arr i32.const 0 call $std/array/Ref#constructor - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 @@ -17635,11 +17439,11 @@ i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 16 @@ -17655,65 +17459,87 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - local.get $0 + local.get $2 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store end global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.tee $9 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 i32.store offset=12 - local.get $0 - local.get $8 + local.get $2 + local.get $9 i32.store - local.get $0 - local.get $8 + local.get $2 + local.get $9 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - local.get $8 + local.get $2 + i32.store offset=4 + local.get $2 + local.get $9 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.eqz if i32.const 0 @@ -17729,30 +17555,30 @@ i32.const 7 i32.const 1696 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1728 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -17764,28 +17590,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const 0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1760 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -17797,27 +17623,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1792 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -17829,28 +17655,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 2 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const 2 i32.const -2 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1824 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -17862,27 +17688,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1856 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -17894,28 +17720,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const -1 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1888 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -17932,30 +17758,30 @@ i32.const 8 i32.const 1920 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 1968 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -17967,28 +17793,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const 0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2016 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18000,27 +17826,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2064 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18032,28 +17858,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 2 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const 2 i32.const -2 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2112 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18065,27 +17891,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2160 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18097,28 +17923,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const -1 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2208 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18135,30 +17961,30 @@ i32.const 9 i32.const 2256 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 f32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2304 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18170,28 +17996,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 f32.const 0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2352 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18203,27 +18029,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 f32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2400 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18235,28 +18061,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 2 global.set $~argumentsLength - local.get $0 + local.get $2 f32.const 2 i32.const -2 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2448 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18268,27 +18094,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 f32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2496 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18300,28 +18126,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 f32.const -1 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2544 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18333,28 +18159,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 f32.const -0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2592 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18367,9 +18193,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length if i32.const 0 @@ -18381,9 +18207,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18397,16 +18223,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 42 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -18421,9 +18247,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length i32.const 1 i32.ne @@ -18437,9 +18263,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18453,9 +18279,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#pop i32.const 42 i32.ne @@ -18469,9 +18295,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length if i32.const 0 @@ -18483,9 +18309,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18499,16 +18325,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 43 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length i32.const 1 i32.ne @@ -18522,9 +18348,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18538,9 +18364,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18555,16 +18381,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 44 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length i32.const 2 i32.ne @@ -18578,9 +18404,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18594,9 +18420,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18611,9 +18437,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18628,16 +18454,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 45 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -18651,9 +18477,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18667,9 +18493,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18684,9 +18510,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18701,9 +18527,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -18723,22 +18549,22 @@ i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $7 + local.tee $8 i32.store offset=20 - local.get $7 + local.get $8 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $7 + local.get $8 i32.const 1 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $7 + local.get $8 i32.store offset=24 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -18751,14 +18577,14 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $7 + local.get $8 i32.const 0 i32.const 0 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 i32.const 0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -18766,9 +18592,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 call $~lib/array/Array#get:length if i32.const 0 @@ -18784,12 +18610,12 @@ i32.const 4 i32.const 2688 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=28 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#at i32.const 1 @@ -18803,9 +18629,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.const 3 call $~lib/array/Array#at i32.const 4 @@ -18819,9 +18645,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.const -1 call $~lib/array/Array#at i32.const 4 @@ -18835,9 +18661,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.const -4 call $~lib/array/Array#at i32.const 1 @@ -18853,26 +18679,26 @@ global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/array/Array#constructor - local.tee $0 + local.tee $2 i32.store offset=32 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $7 + local.tee $8 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 - local.get $0 + local.get $8 + local.get $2 call $~lib/array/Array#concat - local.tee $7 + local.tee $8 i32.store offset=36 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 + local.tee $9 i32.store - local.get $8 + local.get $9 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18886,9 +18712,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 + local.tee $9 i32.store - local.get $8 + local.get $9 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -18901,9 +18727,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -18916,26 +18742,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 2736 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store offset=8 - local.get $7 local.get $8 + local.get $9 call $~lib/array/Array#concat drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 + local.tee $9 i32.store - local.get $8 + local.get $9 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18948,9 +18774,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18964,9 +18790,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18980,9 +18806,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -18996,35 +18822,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.const 46 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.const 47 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $7 + local.tee $8 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 - local.get $0 + local.get $8 + local.get $2 call $~lib/array/Array#concat - local.tee $7 + local.tee $8 i32.store offset=36 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 + local.tee $9 i32.store - local.get $8 + local.get $9 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19037,9 +18863,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length i32.const 2 i32.ne @@ -19052,9 +18878,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 call $~lib/array/Array#get:length i32.const 5 i32.ne @@ -19067,9 +18893,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -19083,9 +18909,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -19099,9 +18925,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -19115,9 +18941,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 i32.const 3 call $~lib/array/Array#__get i32.const 46 @@ -19131,9 +18957,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 i32.const 4 call $~lib/array/Array#__get i32.const 47 @@ -19147,15 +18973,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -19173,12 +18999,12 @@ i32.const 4 i32.const 2768 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=40 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length if i32.const 0 @@ -19189,22 +19015,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $7 + local.tee $8 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $7 + local.get $2 + local.get $8 call $~lib/array/Array#concat - local.tee $7 + local.tee $8 i32.store offset=36 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -19217,9 +19043,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length if i32.const 0 @@ -19235,32 +19061,32 @@ i32.const 4 i32.const 2800 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const 0 i32.const 3 call $~lib/array/Array#copyWithin@varargs - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 2848 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19278,32 +19104,32 @@ i32.const 4 i32.const 2896 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const 1 i32.const 3 call $~lib/array/Array#copyWithin@varargs - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 2944 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19321,32 +19147,32 @@ i32.const 4 i32.const 2992 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const 1 i32.const 2 call $~lib/array/Array#copyWithin@varargs - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3040 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19364,32 +19190,32 @@ i32.const 4 i32.const 3088 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const 2 i32.const 2 call $~lib/array/Array#copyWithin@varargs - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3136 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19407,31 +19233,31 @@ i32.const 4 i32.const 3184 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=48 - local.get $0 + local.get $2 i32.const 0 i32.const 3 i32.const 4 call $~lib/array/Array#copyWithin - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3232 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19449,31 +19275,31 @@ i32.const 4 i32.const 3280 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=48 - local.get $0 + local.get $2 i32.const 1 i32.const 3 i32.const 4 call $~lib/array/Array#copyWithin - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3328 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19491,31 +19317,31 @@ i32.const 4 i32.const 3376 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=48 - local.get $0 + local.get $2 i32.const 1 i32.const 2 i32.const 4 call $~lib/array/Array#copyWithin - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3424 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19533,32 +19359,32 @@ i32.const 4 i32.const 3472 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const 0 i32.const -2 call $~lib/array/Array#copyWithin@varargs - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3520 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19576,31 +19402,31 @@ i32.const 4 i32.const 3568 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=48 - local.get $0 + local.get $2 i32.const 0 i32.const -2 i32.const -1 call $~lib/array/Array#copyWithin - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3616 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19618,31 +19444,31 @@ i32.const 4 i32.const 3664 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=48 - local.get $0 + local.get $2 i32.const -4 i32.const -3 i32.const -2 call $~lib/array/Array#copyWithin - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3712 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19660,31 +19486,31 @@ i32.const 4 i32.const 3760 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=48 - local.get $0 + local.get $2 i32.const -4 i32.const -3 i32.const -1 call $~lib/array/Array#copyWithin - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3808 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19702,32 +19528,32 @@ i32.const 4 i32.const 3856 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const -4 i32.const -3 call $~lib/array/Array#copyWithin@varargs - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3904 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store offset=8 - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19741,16 +19567,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 42 call $~lib/array/Array#unshift global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -19764,9 +19590,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19780,9 +19606,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -19797,9 +19623,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -19814,9 +19640,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -19831,9 +19657,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -19848,16 +19674,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 41 call $~lib/array/Array#unshift global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length i32.const 5 i32.ne @@ -19871,9 +19697,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19887,9 +19713,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 41 @@ -19904,9 +19730,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 42 @@ -19921,9 +19747,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 2 call $~lib/array/Array#__get i32.const 43 @@ -19938,9 +19764,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 3 call $~lib/array/Array#__get i32.const 44 @@ -19955,9 +19781,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 4 call $~lib/array/Array#__get i32.const 45 @@ -19972,7 +19798,7 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -19986,11 +19812,11 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.load offset=12 - local.tee $7 + local.tee $8 i32.const 0 i32.le_s if @@ -20002,34 +19828,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.load offset=4 - local.tee $8 + local.tee $9 i32.load - local.get $8 - local.get $8 + local.get $9 + local.get $9 i32.const 4 i32.add - local.get $7 + local.get $8 i32.const 1 i32.sub - local.tee $7 + local.tee $8 i32.const 2 i32.shl - local.tee $10 + local.tee $11 memory.copy - local.get $8 - local.get $10 + local.get $9 + local.get $11 i32.add i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 - local.get $7 + local.get $2 + local.get $8 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -20049,9 +19875,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -20065,9 +19891,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -20081,9 +19907,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -20098,9 +19924,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -20115,9 +19941,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -20132,9 +19958,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -20149,9 +19975,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#pop global.set $std/array/i global.get $std/array/i @@ -20167,9 +19993,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -20183,9 +20009,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -20199,9 +20025,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -20216,9 +20042,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -20233,9 +20059,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -20254,33 +20080,33 @@ i32.const 4 i32.const 3952 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store offset=52 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 2 call $~lib/array/Array#slice@varargs - local.tee $7 + local.tee $8 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store i32.const 3 i32.const 2 i32.const 4 i32.const 4000 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store offset=8 - local.get $7 local.get $8 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20293,29 +20119,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 2 i32.const 4 call $~lib/array/Array#slice - local.tee $7 + local.tee $8 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4032 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store offset=8 - local.get $7 local.get $8 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20328,29 +20154,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 1 i32.const 5 call $~lib/array/Array#slice - local.tee $7 + local.tee $8 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store i32.const 4 i32.const 2 i32.const 4 i32.const 4064 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store offset=8 - local.get $7 local.get $8 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20363,24 +20189,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#slice@varargs - local.tee $7 + local.tee $8 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 - local.get $7 - local.get $0 + local.get $8 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20393,30 +20219,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const -2 call $~lib/array/Array#slice@varargs - local.tee $7 + local.tee $8 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4112 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store offset=8 - local.get $7 local.get $8 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20429,29 +20255,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 2 i32.const -1 call $~lib/array/Array#slice - local.tee $7 + local.tee $8 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4144 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store offset=8 - local.get $7 local.get $8 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20464,29 +20290,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const -3 i32.const -1 call $~lib/array/Array#slice - local.tee $7 + local.tee $8 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4176 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store offset=8 - local.get $7 local.get $8 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20499,17 +20325,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 - local.get $0 + local.get $2 i32.const -1 i32.const -3 call $~lib/array/Array#slice - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 call $~lib/array/Array#get:length if i32.const 0 @@ -20520,18 +20346,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 i32.const 1 global.set $~argumentsLength - local.get $0 + local.get $2 i32.const 10 call $~lib/array/Array#slice@varargs - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length if i32.const 0 @@ -20543,7 +20369,7 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -20557,59 +20383,59 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.load offset=4 - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 i32.load offset=12 - local.tee $0 + local.tee $2 i32.const 1 i32.gt_u if - local.get $0 + local.get $2 i32.const 1 i32.shr_u - local.set $8 - local.get $0 + local.set $9 + local.get $2 i32.const 1 i32.sub - local.set $0 + local.set $2 loop $while-continue|0 - local.get $3 - local.get $8 + local.get $4 + local.get $9 i32.lt_u if - local.get $7 - local.get $3 + local.get $8 + local.get $4 i32.const 2 i32.shl i32.add - local.tee $9 + local.tee $10 i32.load - local.set $10 - local.get $9 - local.get $7 - local.get $0 - local.get $3 + local.set $11 + local.get $10 + local.get $8 + local.get $2 + local.get $4 i32.sub i32.const 2 i32.shl i32.add - local.tee $9 + local.tee $10 i32.load i32.store - local.get $9 local.get $10 + local.get $11 i32.store - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $while-continue|0 end end @@ -20620,9 +20446,9 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -20636,9 +20462,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -20652,9 +20478,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 44 @@ -20669,9 +20495,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -20686,9 +20512,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 2 call $~lib/array/Array#__get i32.const 42 @@ -20703,16 +20529,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 43 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 44 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer @@ -20721,37 +20547,37 @@ i32.const 7 i32.const 4208 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store - local.get $3 + local.get $4 call $~lib/array/Array#reverse - local.tee $0 + local.tee $2 i32.store offset=60 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length - local.set $3 + local.set $4 loop $for-loop|0 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store + local.get $2 local.get $0 - local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length - local.get $1 + local.get $0 i32.sub i32.const 1 i32.sub @@ -20764,10 +20590,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -20777,39 +20603,39 @@ i32.const 7 i32.const 4240 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 call $~lib/array/Array#reverse - local.tee $0 + local.tee $2 i32.store offset=64 i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length - local.set $3 + local.set $4 loop $for-loop|1 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store + local.get $2 local.get $0 - local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length - local.get $1 + local.get $0 i32.sub i32.const 1 i32.sub @@ -20822,10 +20648,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|1 end end @@ -20835,39 +20661,39 @@ i32.const 7 i32.const 4272 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 call $~lib/array/Array#reverse - local.tee $0 + local.tee $2 i32.store offset=68 i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length - local.set $3 + local.set $4 loop $for-loop|2 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store + local.get $2 local.get $0 - local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length - local.get $1 + local.get $0 i32.sub i32.const 1 i32.sub @@ -20880,10 +20706,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|2 end end @@ -20893,39 +20719,39 @@ i32.const 11 i32.const 4320 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 call $~lib/array/Array#reverse - local.tee $0 + local.tee $2 i32.store offset=72 i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length - local.set $3 + local.set $4 loop $for-loop|3 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store + local.get $2 local.get $0 - local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length - local.get $1 + local.get $0 i32.sub i32.const 1 i32.sub @@ -20938,10 +20764,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|3 end end @@ -20951,39 +20777,39 @@ i32.const 11 i32.const 4368 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 call $~lib/array/Array#reverse - local.tee $0 + local.tee $2 i32.store offset=76 i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length - local.set $3 + local.set $4 loop $for-loop|4 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store + local.get $2 local.get $0 - local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length - local.get $1 + local.get $0 i32.sub i32.const 1 i32.sub @@ -20996,10 +20822,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|4 end end @@ -21009,39 +20835,39 @@ i32.const 11 i32.const 4416 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 call $~lib/array/Array#reverse - local.tee $0 + local.tee $2 i32.store offset=80 i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length - local.set $3 + local.set $4 loop $for-loop|5 - local.get $1 - local.get $3 + local.get $0 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store + local.get $2 local.get $0 - local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store - local.get $0 + local.get $2 call $~lib/array/Array#get:length - local.get $1 + local.get $0 i32.sub i32.const 1 i32.sub @@ -21054,10 +20880,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|5 end end @@ -21264,9 +21090,9 @@ i32.const 9 i32.const 4464 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 0 local.set $0 @@ -21282,14 +21108,14 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - block $__inlined_func$~lib/array/Array#indexOf$696 - local.get $1 + block $__inlined_func$~lib/array/Array#indexOf$714 + local.get $2 i32.load offset=12 - local.tee $3 + local.tee $4 i32.eqz - local.get $3 + local.get $4 i32.const 0 i32.le_s i32.or @@ -21300,20 +21126,20 @@ global.set $~lib/memory/__stack_pointer i32.const -1 local.set $0 - br $__inlined_func$~lib/array/Array#indexOf$696 + br $__inlined_func$~lib/array/Array#indexOf$714 end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=4 - local.set $1 + local.set $2 loop $while-continue|05 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $1 + local.get $2 local.get $0 i32.const 2 i32.shl @@ -21326,7 +21152,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/array/Array#indexOf$696 + br $__inlined_func$~lib/array/Array#indexOf$714 end local.get $0 i32.const 1 @@ -21358,9 +21184,9 @@ i32.const 12 i32.const 4496 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 0 local.set $0 @@ -21376,14 +21202,14 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - block $__inlined_func$~lib/array/Array#indexOf$697 - local.get $1 + block $__inlined_func$~lib/array/Array#indexOf$715 + local.get $2 i32.load offset=12 - local.tee $3 + local.tee $4 i32.eqz - local.get $3 + local.get $4 i32.const 0 i32.le_s i32.or @@ -21394,20 +21220,20 @@ global.set $~lib/memory/__stack_pointer i32.const -1 local.set $0 - br $__inlined_func$~lib/array/Array#indexOf$697 + br $__inlined_func$~lib/array/Array#indexOf$715 end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=4 - local.set $1 + local.set $2 loop $while-continue|07 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $1 + local.get $2 local.get $0 i32.const 3 i32.shl @@ -21420,7 +21246,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/array/Array#indexOf$697 + br $__inlined_func$~lib/array/Array#indexOf$715 end local.get $0 i32.const 1 @@ -21731,15 +21557,15 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#includes$698 (result i32) + block $__inlined_func$~lib/array/Array#includes$716 (result i32) i32.const 1 i32.const 2 i32.const 9 i32.const 4576 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 0 local.set $0 @@ -21755,13 +21581,13 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=12 - local.tee $3 + local.tee $4 i32.eqz - local.get $3 + local.get $4 i32.const 0 i32.le_s i32.or @@ -21771,27 +21597,27 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$~lib/array/Array#includes$698 + br $__inlined_func$~lib/array/Array#includes$716 end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=4 - local.set $1 + local.set $2 loop $while-continue|09 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $1 + local.get $2 local.get $0 i32.const 2 i32.shl i32.add f32.load - local.tee $6 - local.get $6 + local.tee $7 + local.get $7 f32.ne if global.get $~lib/memory/__stack_pointer @@ -21799,7 +21625,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1 - br $__inlined_func$~lib/array/Array#includes$698 + br $__inlined_func$~lib/array/Array#includes$716 end local.get $0 i32.const 1 @@ -21823,15 +21649,15 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#includes$699 (result i32) + block $__inlined_func$~lib/array/Array#includes$717 (result i32) i32.const 1 i32.const 3 i32.const 12 i32.const 4608 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 0 local.set $0 @@ -21847,13 +21673,13 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=12 - local.tee $3 + local.tee $4 i32.eqz - local.get $3 + local.get $4 i32.const 0 i32.le_s i32.or @@ -21863,27 +21689,27 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$~lib/array/Array#includes$699 + br $__inlined_func$~lib/array/Array#includes$717 end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=4 - local.set $1 + local.set $2 loop $while-continue|011 local.get $0 - local.get $3 + local.get $4 i32.lt_s if - local.get $1 + local.get $2 local.get $0 i32.const 3 i32.shl i32.add f64.load - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 f64.ne if global.get $~lib/memory/__stack_pointer @@ -21891,7 +21717,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1 - br $__inlined_func$~lib/array/Array#includes$699 + br $__inlined_func$~lib/array/Array#includes$717 end local.get $0 i32.const 1 @@ -22006,21 +21832,21 @@ local.get $0 i32.const 0 call $~lib/array/Array#splice@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 4688 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22040,12 +21866,12 @@ i32.const 4 i32.const 4736 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22072,21 +21898,21 @@ i32.const 0 i32.const 0 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 4816 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22106,12 +21932,12 @@ i32.const 4 i32.const 4848 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22139,21 +21965,21 @@ local.get $0 i32.const 2 call $~lib/array/Array#splice@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 3 i32.const 2 i32.const 4 i32.const 4944 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22173,12 +21999,12 @@ i32.const 4 i32.const 4976 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22205,21 +22031,21 @@ i32.const 2 i32.const 2 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 5056 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22239,12 +22065,12 @@ i32.const 4 i32.const 5088 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22271,21 +22097,21 @@ i32.const 0 i32.const 1 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5168 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22305,12 +22131,12 @@ i32.const 4 i32.const 5200 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22338,21 +22164,21 @@ local.get $0 i32.const -1 call $~lib/array/Array#splice@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5296 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22372,12 +22198,12 @@ i32.const 4 i32.const 5328 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22405,21 +22231,21 @@ local.get $0 i32.const -2 call $~lib/array/Array#splice@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 5424 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22439,12 +22265,12 @@ i32.const 4 i32.const 5456 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22471,21 +22297,21 @@ i32.const -2 i32.const 1 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5536 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22505,12 +22331,12 @@ i32.const 4 i32.const 5568 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22537,21 +22363,21 @@ i32.const -7 i32.const 1 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5664 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22571,12 +22397,12 @@ i32.const 4 i32.const 5696 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22603,21 +22429,21 @@ i32.const -2 i32.const -1 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 5792 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22637,12 +22463,12 @@ i32.const 4 i32.const 5824 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22669,21 +22495,21 @@ i32.const 1 i32.const -2 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 5920 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22703,12 +22529,12 @@ i32.const 4 i32.const 5952 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22735,21 +22561,21 @@ i32.const 4 i32.const 0 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 6048 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22769,12 +22595,12 @@ i32.const 4 i32.const 6080 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22801,21 +22627,21 @@ i32.const 7 i32.const 0 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 6176 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22835,12 +22661,12 @@ i32.const 4 i32.const 6208 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22867,21 +22693,21 @@ i32.const 7 i32.const 5 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 6304 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $1 - local.get $3 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22901,12 +22727,12 @@ i32.const 4 i32.const 6336 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22933,12 +22759,12 @@ local.get $0 i32.const 1 call $~lib/array/Array#splice - local.tee $1 + local.tee $2 i32.store offset=96 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 call $~lib/array/Array#get:length if i32.const 0 @@ -22968,40 +22794,40 @@ i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $1 + local.tee $2 i32.store offset=100 - local.get $1 + local.get $2 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 1 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 2 i32.const 3 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 3 i32.const 4 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 4 i32.const 5 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.store offset=92 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.const 2 call $~lib/array/Array#splice local.tee $0 @@ -23027,11 +22853,11 @@ local.get $0 i32.const 0 call $~lib/array/Array#__get - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store - local.get $3 + local.get $4 i32.load i32.const 3 i32.ne @@ -23066,9 +22892,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -23081,9 +22907,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 - local.get $1 + local.get $2 i32.const 0 call $~lib/array/Array#__get local.set $0 @@ -23103,9 +22929,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 - local.get $1 + local.get $2 i32.const 1 call $~lib/array/Array#__get local.set $0 @@ -23125,9 +22951,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 - local.get $1 + local.get $2 i32.const 2 call $~lib/array/Array#__get local.set $0 @@ -23153,27 +22979,27 @@ i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $1 + local.tee $2 i32.store offset=104 - local.get $1 + local.get $2 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 1 i32.const 0 call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 2 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.store offset=108 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 @@ -23187,98 +23013,98 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=12 - local.tee $3 + local.tee $4 i32.const 0 - local.get $3 + local.get $4 i32.const 0 i32.le_s select - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 1 - local.get $3 - local.get $7 - i32.sub - local.tee $8 + local.get $4 local.get $8 + i32.sub + local.tee $9 + local.get $9 i32.const 1 i32.gt_s select - local.tee $8 + local.tee $9 i32.const 0 - local.get $8 + local.get $9 i32.const 0 i32.gt_s select - local.tee $8 + local.tee $9 i32.const 2 i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $9 + local.tee $10 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $10 i32.store - local.get $9 + local.get $10 i32.load offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=4 - local.tee $10 - local.get $7 + local.tee $11 + local.get $8 i32.const 2 i32.shl i32.add - local.tee $11 - local.get $8 + local.tee $12 + local.get $9 i32.const 2 i32.shl memory.copy - local.get $7 local.get $8 + local.get $9 i32.add - local.tee $7 - local.get $3 + local.tee $8 + local.get $4 i32.ne if + local.get $12 local.get $11 - local.get $10 - local.get $7 + local.get $8 i32.const 2 i32.shl i32.add - local.get $3 - local.get $7 + local.get $4 + local.get $8 i32.sub i32.const 2 i32.shl memory.copy end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 - local.get $3 - local.get $8 + local.get $2 + local.get $4 + local.get $9 i32.sub i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $10 i32.store offset=112 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $10 i32.store - local.get $9 + local.get $10 call $~lib/array/Array#get:length i32.const 1 i32.ne @@ -23291,10 +23117,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $10 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $10 i32.const 0 call $~lib/array/Array#__get local.tee $0 @@ -23325,9 +23151,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 call $~lib/array/Array#get:length i32.const 2 i32.ne @@ -23340,9 +23166,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 0 call $~lib/array/Array#__get if @@ -23354,10 +23180,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.const 1 call $~lib/array/Array#__get local.tee $0 @@ -24252,9 +24078,9 @@ if global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store - local.get $1 + local.get $2 call $~lib/array/Array#pop drop local.get $0 @@ -24295,7 +24121,7 @@ global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 9296 @@ -24315,80 +24141,80 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.load offset=12 - local.tee $7 + local.tee $8 i32.const 2 i32.const 16 i32.const 0 call $~lib/rt/__newArray - local.tee $8 + local.tee $9 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.load offset=4 - local.set $9 + local.set $10 i32.const 0 - local.set $3 + local.set $4 loop $for-loop|012 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $3 - local.get $7 - local.get $1 + local.get $4 + local.get $8 + local.get $2 i32.load offset=12 - local.tee $10 - local.get $7 - local.get $10 + local.tee $11 + local.get $8 + local.get $11 i32.lt_s select i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 - local.get $3 + local.get $4 i32.const 2 i32.shl - local.tee $10 - local.get $1 + local.tee $11 + local.get $2 i32.load offset=4 i32.add i32.load - local.set $11 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 3 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $11 - local.get $3 - local.get $1 + local.get $12 + local.get $4 + local.get $2 i32.const 9296 i32.load call_indirect (type $1) - local.tee $11 + local.tee $12 i32.store offset=12 - local.get $9 local.get $10 - i32.add local.get $11 + i32.add + local.get $12 i32.store - local.get $8 - local.get $11 + local.get $9 + local.get $12 i32.const 1 call $~lib/rt/itcms/__link - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|012 end end @@ -24396,12 +24222,12 @@ i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store offset=128 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 9328 @@ -24421,72 +24247,72 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.load offset=12 - local.tee $7 + local.tee $8 i32.const 2 i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $8 + local.tee $9 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.load offset=4 - local.set $9 + local.set $10 i32.const 0 - local.set $3 + local.set $4 loop $for-loop|013 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $3 - local.get $7 - local.get $1 + local.get $4 + local.get $8 + local.get $2 i32.load offset=12 - local.tee $10 - local.get $7 - local.get $10 + local.tee $11 + local.get $8 + local.get $11 i32.lt_s select i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 - local.get $3 + local.get $4 i32.const 2 i32.shl - local.tee $10 - local.get $1 + local.tee $11 + local.get $2 i32.load offset=4 i32.add i32.load - local.set $11 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 3 global.set $~argumentsLength - local.get $9 local.get $10 - i32.add - local.get $11 - local.get $3 - local.get $1 + local.get $11 + i32.add + local.get $12 + local.get $4 + local.get $2 i32.const 9328 i32.load call_indirect (type $15) f32.store - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|013 end end @@ -24494,12 +24320,12 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store offset=132 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -24512,9 +24338,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.const 0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer @@ -25322,26 +25148,26 @@ i64.const -7046029254386353131 call $~lib/bindings/dom/Math.random i64.reinterpret_f64 - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.eqz select - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u i64.xor i64.const -49064778989728563 i64.mul - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u i64.xor i64.const -4265267296055464877 i64.mul - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u i64.xor @@ -25349,22 +25175,22 @@ global.get $~lib/math/random_state0_64 i64.const -1 i64.xor - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u i64.xor i64.const -49064778989728563 i64.mul - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u i64.xor i64.const -4265267296055464877 i64.mul - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u i64.xor @@ -25381,243 +25207,243 @@ i32.store offset=140 global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=144 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 80 i32.store offset=4 local.get $0 i32.const 0 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=148 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 90 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 90 i32.store offset=4 local.get $0 i32.const 1 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=152 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 95 i32.store offset=4 local.get $0 i32.const 2 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=156 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 100 i32.store offset=4 local.get $0 i32.const 3 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=160 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 80 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 110 i32.store offset=4 local.get $0 i32.const 4 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=164 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 110 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 115 i32.store offset=4 local.get $0 i32.const 5 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=168 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 120 i32.store offset=4 local.get $0 i32.const 6 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=172 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 125 i32.store offset=4 local.get $0 i32.const 7 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=176 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 130 i32.store offset=4 local.get $0 i32.const 8 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=180 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 135 i32.store offset=4 local.get $0 i32.const 9 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=184 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 75 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 140 i32.store offset=4 local.get $0 i32.const 10 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=188 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 140 i32.store offset=4 local.get $0 i32.const 11 - local.get $1 + local.get $2 call $~lib/array/Array#__set local.get $0 global.set $std/array/inputStabArr @@ -25631,243 +25457,243 @@ i32.store offset=192 global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=196 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 95 i32.store offset=4 local.get $0 i32.const 0 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=200 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 125 i32.store offset=4 local.get $0 i32.const 1 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=204 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 130 i32.store offset=4 local.get $0 i32.const 2 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=208 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 140 i32.store offset=4 local.get $0 i32.const 3 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=212 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 75 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 140 i32.store offset=4 local.get $0 i32.const 4 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=216 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 80 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 110 i32.store offset=4 local.get $0 i32.const 5 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=220 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 90 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 90 i32.store offset=4 local.get $0 i32.const 6 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=224 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 80 i32.store offset=4 local.get $0 i32.const 7 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=228 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 100 i32.store offset=4 local.get $0 i32.const 8 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=232 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 120 i32.store offset=4 local.get $0 i32.const 9 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=236 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 135 i32.store offset=4 local.get $0 i32.const 10 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 + local.tee $2 i32.store offset=240 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 110 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.const 115 i32.store offset=4 local.get $0 i32.const 11 - local.get $1 + local.get $2 call $~lib/array/Array#__set local.get $0 global.set $std/array/outputStabArr @@ -25894,12 +25720,12 @@ i32.const 9 i32.const 10288 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 call $std/array/isArraysEqual i32.eqz if @@ -25933,12 +25759,12 @@ i32.const 9 i32.const 10384 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 call $std/array/isArraysEqual i32.eqz if @@ -25955,10 +25781,10 @@ i32.const 12 i32.const 10448 call $~lib/rt/__newArray - local.tee $1 + local.tee $2 i32.store offset=252 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 0 global.set $~argumentsLength @@ -25980,7 +25806,7 @@ i32.const 10544 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 10544 @@ -25997,14 +25823,14 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.load offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.load offset=12 global.get $~lib/memory/__stack_pointer i32.const 10544 @@ -26019,18 +25845,18 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store i32.const 8 i32.const 3 i32.const 12 i32.const 10576 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - block $__inlined_func$std/array/isArraysEqual$6 (result i32) + block $__inlined_func$std/array/isArraysEqual$7 (result i32) i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer @@ -26045,48 +25871,48 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 call $~lib/array/Array#get:length - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store block $folding-inner1 - block $folding-inner00 - local.get $3 + block $folding-inner01 + local.get $4 call $~lib/array/Array#get:length - local.get $7 + local.get $8 i32.ne - br_if $folding-inner00 - local.get $1 - local.get $3 + br_if $folding-inner01 + local.get $2 + local.get $4 i32.eq br_if $folding-inner1 - loop $for-loop|01 + loop $for-loop|02 local.get $0 - local.get $7 + local.get $8 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 local.get $0 call $~lib/array/Array#__get - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 f64.ne if (result i32) global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store - local.get $3 + local.get $4 local.get $0 call $~lib/array/Array#__get - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 f64.ne else i32.const 0 @@ -26094,9 +25920,9 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 local.get $0 call $~lib/array/Array#__get i64.reinterpret_f64 @@ -26104,9 +25930,9 @@ i64.shr_u i32.wrap_i64 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store - local.get $3 + local.get $4 local.get $0 call $~lib/array/Array#__get i64.reinterpret_f64 @@ -26114,29 +25940,29 @@ i64.shr_u i32.wrap_i64 i32.ne - br_if $folding-inner00 + br_if $folding-inner01 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 local.get $0 call $~lib/array/Array#__get - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store - local.get $3 + local.get $4 local.get $0 call $~lib/array/Array#__get - local.get $5 + local.get $6 f64.ne - br_if $folding-inner00 + br_if $folding-inner01 end local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|01 + br $for-loop|02 end end br $folding-inner1 @@ -26146,7 +25972,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isArraysEqual$6 + br $__inlined_func$std/array/isArraysEqual$7 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26215,12 +26041,12 @@ i32.const 4 i32.const 10752 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26309,12 +26135,12 @@ i32.const 8 i32.const 10880 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 local.get $0 - local.get $1 + local.get $2 call $std/array/isArraysEqual i32.eqz if @@ -26331,7 +26157,7 @@ i32.const 4 i32.const 10928 call $~lib/rt/__newArray - local.tee $3 + local.tee $4 i32.store offset=264 global.get $~lib/memory/__stack_pointer i32.const 1 @@ -26339,7 +26165,7 @@ i32.const 4 i32.const 10960 call $~lib/rt/__newArray - local.tee $7 + local.tee $8 i32.store offset=268 global.get $~lib/memory/__stack_pointer i32.const 2 @@ -26347,7 +26173,7 @@ i32.const 4 i32.const 10992 call $~lib/rt/__newArray - local.tee $8 + local.tee $9 i32.store offset=272 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26355,7 +26181,7 @@ i32.const 4 i32.const 11024 call $~lib/rt/__newArray - local.tee $9 + local.tee $10 i32.store offset=276 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26363,57 +26189,57 @@ i32.const 4 i32.const 11072 call $~lib/rt/__newArray - local.tee $10 + local.tee $11 i32.store offset=280 global.get $~lib/memory/__stack_pointer i32.const 64 call $std/array/createReverseOrderedArray - local.tee $11 + local.tee $12 i32.store offset=284 global.get $~lib/memory/__stack_pointer i32.const 128 call $std/array/createReverseOrderedArray - local.tee $12 + local.tee $13 i32.store offset=288 global.get $~lib/memory/__stack_pointer i32.const 1024 call $std/array/createReverseOrderedArray - local.tee $0 + local.tee $14 i32.store offset=292 global.get $~lib/memory/__stack_pointer i32.const 10000 call $std/array/createReverseOrderedArray - local.tee $1 + local.tee $0 i32.store offset=296 global.get $~lib/memory/__stack_pointer i32.const 512 call $std/array/createRandomOrderedArray - local.tee $13 + local.tee $2 i32.store offset=300 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store - local.get $3 + local.get $4 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store - local.get $7 + local.get $8 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 11152 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $7 - local.get $3 + local.get $8 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26426,24 +26252,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 11184 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $8 - local.get $3 + local.get $9 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26456,18 +26282,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $10 i32.store - local.get $9 + local.get $10 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $10 i32.store global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $11 i32.store offset=8 - local.get $9 local.get $10 + local.get $11 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26480,18 +26306,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $12 i32.store - local.get $11 + local.get $12 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $12 i32.store global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $11 i32.store offset=8 + local.get $12 local.get $11 - local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -26504,18 +26330,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $13 i32.store - local.get $12 + local.get $13 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $13 i32.store global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $11 i32.store offset=8 - local.get $12 - local.get $10 + local.get $13 + local.get $11 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -26528,18 +26354,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $14 i32.store - local.get $0 + local.get $14 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $14 i32.store global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $11 i32.store offset=8 - local.get $0 - local.get $10 + local.get $14 + local.get $11 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -26552,18 +26378,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $11 i32.store offset=8 - local.get $1 - local.get $10 + local.get $0 + local.get $11 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -26576,9 +26402,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $2 i32.store - local.get $13 + local.get $2 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer i32.const 24 @@ -26629,75 +26455,75 @@ i32.store local.get $0 i32.load offset=12 - local.tee $3 + local.tee $4 i32.const 0 - local.get $3 + local.get $4 i32.const 0 i32.le_s select - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $7 + local.get $4 + local.get $8 i32.sub - local.tee $3 + local.tee $4 i32.const 0 - local.get $3 + local.get $4 i32.const 0 i32.gt_s select - local.tee $3 + local.tee $4 i32.const 2 i32.const 23 i32.const 0 call $~lib/rt/__newArray - local.tee $8 + local.tee $9 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store - local.get $8 + local.get $9 i32.load offset=4 - local.set $9 + local.set $10 global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=4 - local.get $7 + local.get $8 i32.const 2 i32.shl i32.add - local.set $7 + local.set $8 i32.const 0 local.set $0 - local.get $3 + local.get $4 i32.const 2 i32.shl - local.set $3 - loop $while-continue|04 + local.set $4 + loop $while-continue|06 local.get $0 - local.get $3 + local.get $4 i32.lt_u if local.get $0 - local.get $9 + local.get $10 i32.add local.get $0 - local.get $7 + local.get $8 i32.add i32.load - local.tee $10 + local.tee $11 i32.store - local.get $8 - local.get $10 + local.get $9 + local.get $11 i32.const 1 call $~lib/rt/itcms/__link local.get $0 i32.const 4 i32.add local.set $0 - br $while-continue|04 + br $while-continue|06 end end global.get $~lib/memory/__stack_pointer @@ -26709,30 +26535,28 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store global.get $~lib/memory/__stack_pointer i32.const 11216 i32.store offset=4 - local.get $8 + local.get $9 i32.const 11216 call $~lib/array/Array#sort local.tee $0 i32.store offset=12 i32.const 1 - local.set $3 - i32.const 0 - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer global.get $std/array/inputStabArr - local.tee $7 + local.tee $2 i32.store - local.get $7 + local.get $2 call $~lib/array/Array#get:length - local.set $7 + local.set $2 loop $for-loop|014 local.get $1 - local.get $7 + local.get $2 i32.lt_s if block $for-break0 @@ -26783,7 +26607,7 @@ end if i32.const 0 - local.set $3 + local.set $4 br $for-break0 end local.get $1 @@ -26794,7 +26618,7 @@ end end end - local.get $3 + local.get $4 i32.eqz if i32.const 0 @@ -26855,8 +26679,6 @@ i32.const 11344 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -26890,52 +26712,82 @@ i32.const 16 i32.const 29 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 i32.store + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 32 i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.tee $4 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store offset=12 - local.get $7 - local.get $8 + local.get $2 + local.get $4 i32.store - local.get $7 - local.get $8 + local.get $2 + local.get $4 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $8 + local.get $2 + i32.store offset=4 + local.get $2 + local.get $4 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 32 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.store - loop $for-loop|06 + i32.const 0 + local.set $0 + loop $for-loop|015 local.get $0 i32.const 2 i32.lt_s @@ -26943,47 +26795,47 @@ global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/array/Array#constructor - local.tee $3 + local.tee $4 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $3 + local.get $4 i32.const 0 i32.const 1 local.get $0 i32.sub call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=12 - local.get $7 + local.get $2 local.get $0 - local.get $3 + local.get $4 call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|06 + br $for-loop|015 end end global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.store offset=312 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 11376 i32.store offset=8 - local.get $7 + local.get $2 i32.const 11376 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -27020,58 +26872,88 @@ i32.const 16 i32.const 32 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 i32.store + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 2048 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 + local.tee $4 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store offset=12 - local.get $3 - local.get $7 + local.get $2 + local.get $4 i32.store - local.get $3 - local.get $7 + local.get $2 + local.get $4 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 + local.get $4 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2048 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 512 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store - loop $for-loop|08 - local.get $2 + i32.const 0 + local.set $0 + loop $for-loop|06 + local.get $0 i32.const 512 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -27088,14 +26970,14 @@ i32.const 4 i32.const 31 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.store offset=4 - local.get $1 + local.get $4 i32.const 511 - local.get $2 + local.get $0 i32.sub i32.store global.get $~lib/memory/__stack_pointer @@ -27103,32 +26985,32 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.store offset=8 - local.get $3 local.get $2 - local.get $1 + local.get $0 + local.get $4 call $~lib/array/Array#__set - local.get $2 + local.get $0 i32.const 1 i32.add - local.set $2 - br $for-loop|08 + local.set $0 + br $for-loop|06 end end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store offset=316 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 11408 i32.store offset=8 - local.get $3 + local.get $2 i32.const 11408 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -27189,7 +27071,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - block $__inlined_func$std/array/isSorted<~lib/string/String|null>$643 (result i32) + block $__inlined_func$std/array/isSorted<~lib/string/String|null>$662 (result i32) global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 @@ -27199,9 +27081,9 @@ local.get $0 i32.const 11696 call $~lib/array/Array#sort - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store global.get $~lib/memory/__stack_pointer i32.const 11696 @@ -27223,42 +27105,42 @@ i32.const 1 local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store - local.get $3 + local.get $4 call $~lib/array/Array#get:length - local.set $7 - loop $for-loop|069 + local.set $8 + loop $for-loop|07 local.get $1 - local.get $7 + local.get $8 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $3 + local.get $4 local.get $1 i32.const 1 i32.sub call $~lib/array/Array#__get - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 i32.store global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $3 + local.get $4 local.get $1 call $~lib/array/Array#__get - local.set $9 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $10 i32.store offset=4 i32.const 2 global.set $~argumentsLength - local.get $8 local.get $9 + local.get $10 i32.const 11696 i32.load call_indirect (type $0) @@ -27270,13 +27152,13 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isSorted<~lib/string/String|null>$643 + br $__inlined_func$std/array/isSorted<~lib/string/String|null>$662 end local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|069 + br $for-loop|07 end end global.get $~lib/memory/__stack_pointer @@ -27302,7 +27184,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$728 (result i32) + block $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 (result i32) global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -27328,13 +27210,13 @@ i32.store local.get $0 call $~lib/array/Array#get:length - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $2 i32.store local.get $2 call $~lib/array/Array#get:length - local.get $3 + local.get $4 i32.ne if global.get $~lib/memory/__stack_pointer @@ -27342,7 +27224,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$728 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 end local.get $0 local.get $2 @@ -27350,99 +27232,345 @@ if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.add + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 + end + i32.const 0 + local.set $1 + loop $for-loop|08 + local.get $1 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + call $~lib/array/Array#__get + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 + local.get $1 + call $~lib/array/Array#__get + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $8 + local.get $9 + call $~lib/string/String.__eq + i32.eqz + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|08 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + end + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1184 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + i32.const 0 + i32.store + local.get $9 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + i32.const 0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 1600 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $9 + local.get $1 + i32.store + local.get $9 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + i32.const 1600 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + i32.const 400 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store + i32.const 0 + local.set $4 + loop $for-loop|019 + local.get $4 + i32.const 400 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + call $~lib/math/NativeMath.random + f64.const 32 + f64.mul + i32.trunc_sat_f64_s + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub global.set $~lib/memory/__stack_pointer - i32.const 1 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$728 - end - i32.const 0 - local.set $1 - loop $for-loop|07 - local.get $1 - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 16192 i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - local.get $1 - call $~lib/array/Array#__get - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 11568 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 11568 + i32.store + i32.const 0 + local.set $1 + loop $for-loop|00 local.get $1 - call $~lib/array/Array#__get - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 + local.get $10 i32.lt_s - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $7 - local.get $8 - call $~lib/string/String.__eq - i32.eqz - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer if global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + call $~lib/math/NativeMath.random + i32.const 10028 + i32.load + i32.const 1 + i32.shr_u + f64.convert_i32_s + f64.mul + f64.floor + i32.trunc_sat_f64_s + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub global.set $~lib/memory/__stack_pointer - i32.const 0 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$728 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 10032 + i32.store + block $__inlined_func$~lib/string/String#charAt$737 + local.get $12 + i32.const 10028 + i32.load + i32.const 1 + i32.shr_u + i32.ge_u + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + local.set $2 + br $__inlined_func$~lib/string/String#charAt$737 + end + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + local.get $2 + local.get $12 + i32.const 1 + i32.shl + i32.const 10032 + i32.add + i32.load16_u + i32.store16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $0 + local.get $2 + call $~lib/string/String.__concat + local.tee $0 + i32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|00 end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|07 end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $9 + local.get $4 + local.get $0 + call $~lib/array/Array#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|019 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - end - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1184 - i32.const 3 - call $~lib/builtins/abort - unreachable end global.get $~lib/memory/__stack_pointer - call $std/array/createRandomStringArray - local.tee $0 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 i32.store offset=328 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $9 i32.store i32.const 1 global.set $~argumentsLength @@ -27464,12 +27592,12 @@ i32.const 11728 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $9 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11728 i32.store offset=8 - local.get $0 + local.get $9 i32.const 11728 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -27501,20 +27629,20 @@ i32.store local.get $0 i32.load offset=4 - local.set $3 + local.set $8 global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=12 - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 11856 i32.store i32.const 0 local.set $1 i32.const 0 - local.set $0 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -27526,11 +27654,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinBooleanArray$10 - local.get $2 + block $__inlined_func$~lib/util/string/joinBooleanArray$12 + local.get $0 i32.const 1 i32.sub - local.tee $7 + local.tee $0 i32.const 0 i32.lt_s if @@ -27540,19 +27668,19 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinBooleanArray$10 + br $__inlined_func$~lib/util/string/joinBooleanArray$12 end - block $folding-inner010 - local.get $7 + block $folding-inner07 + local.get $0 i32.eqz if i32.const 11792 i32.const 11824 - local.get $3 + local.get $8 i32.load8_u select local.set $2 - br $folding-inner010 + br $folding-inner07 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -27562,34 +27690,34 @@ i32.load i32.const 1 i32.shr_u - local.tee $8 + local.tee $9 i32.const 5 i32.add - local.get $7 + local.get $0 i32.mul i32.const 5 i32.add - local.tee $9 + local.tee $10 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 - loop $for-loop|111 + loop $for-loop|18 local.get $0 - local.get $7 - i32.lt_s + local.get $4 + i32.gt_s if - local.get $0 - local.get $3 + local.get $4 + local.get $8 i32.add i32.load8_u - local.tee $10 + local.tee $11 i32.eqz i32.const 4 i32.add - local.set $11 + local.set $12 local.get $2 local.get $1 i32.const 1 @@ -27597,17 +27725,17 @@ i32.add i32.const 11792 i32.const 11824 - local.get $10 - select local.get $11 + select + local.get $12 i32.const 1 i32.shl memory.copy local.get $1 - local.get $11 + local.get $12 i32.add local.set $1 - local.get $8 + local.get $9 if local.get $2 local.get $1 @@ -27615,31 +27743,31 @@ i32.shl i32.add i32.const 11856 - local.get $8 + local.get $9 i32.const 1 i32.shl memory.copy local.get $1 - local.get $8 + local.get $9 i32.add local.set $1 end - local.get $0 + local.get $4 i32.const 1 i32.add - local.set $0 - br $for-loop|111 + local.set $4 + br $for-loop|18 end end - local.get $3 - local.get $7 + local.get $0 + local.get $8 i32.add i32.load8_u local.tee $0 i32.eqz i32.const 4 i32.add - local.set $3 + local.set $4 local.get $2 local.get $1 i32.const 1 @@ -27649,15 +27777,15 @@ i32.const 11824 local.get $0 select - local.get $3 + local.get $4 i32.const 1 i32.shl memory.copy local.get $1 - local.get $3 + local.get $4 i32.add local.tee $0 - local.get $9 + local.get $10 i32.lt_s if global.get $~lib/memory/__stack_pointer @@ -27667,13 +27795,13 @@ local.get $0 call $~lib/string/String#substring local.set $2 - br $folding-inner010 + br $folding-inner07 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinBooleanArray$10 + br $__inlined_func$~lib/util/string/joinBooleanArray$12 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -27983,7 +28111,7 @@ i32.const 4 i32.const 13984 call $~lib/rt/__newArray - local.tee $3 + local.tee $4 i32.store offset=360 global.get $~lib/memory/__stack_pointer local.get $0 @@ -28049,9 +28177,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.store offset=8 - local.get $3 + local.get $4 call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer @@ -28128,14 +28256,12 @@ i32.const 11 i32.const 14256 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 i32.const 0 local.set $0 - i32.const 0 - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28148,7 +28274,7 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -28162,17 +28288,17 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=12 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 11856 i32.store @@ -28187,11 +28313,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$721 - local.get $2 + block $__inlined_func$~lib/util/string/joinIntegerArray$741 + local.get $1 i32.const 1 i32.sub - local.tee $7 + local.tee $1 i32.const 0 i32.lt_s if @@ -28201,12 +28327,12 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinIntegerArray$721 + br $__inlined_func$~lib/util/string/joinIntegerArray$741 end - local.get $7 + local.get $1 i32.eqz if - local.get $3 + local.get $4 i32.load16_u call $~lib/util/number/utoa32 local.set $2 @@ -28214,7 +28340,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$721 + br $__inlined_func$~lib/util/string/joinIntegerArray$741 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -28227,7 +28353,7 @@ local.tee $8 i32.const 10 i32.add - local.get $7 + local.get $1 i32.mul i32.const 10 i32.add @@ -28238,18 +28364,18 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 - loop $for-loop|02 + loop $for-loop|03 local.get $1 - local.get $7 - i32.lt_s + local.get $3 + i32.gt_s if local.get $2 local.get $0 i32.const 1 i32.shl i32.add + local.get $4 local.get $3 - local.get $1 i32.const 1 i32.shl i32.add @@ -28275,20 +28401,21 @@ i32.add local.set $0 end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 - br $for-loop|02 + local.set $3 + br $for-loop|03 end end + local.get $9 local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $3 - local.get $7 + local.get $4 + local.get $1 i32.const 1 i32.shl i32.add @@ -28297,8 +28424,7 @@ local.get $0 i32.add local.tee $0 - local.get $9 - i32.lt_s + i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $2 @@ -28311,7 +28437,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$721 + br $__inlined_func$~lib/util/string/joinIntegerArray$741 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -28346,14 +28472,14 @@ i32.const 39 i32.const 14336 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 i32.const 0 local.set $0 i32.const 0 - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28366,7 +28492,7 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -28380,17 +28506,17 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=12 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 11856 i32.store @@ -28405,11 +28531,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$722 - local.get $2 + block $__inlined_func$~lib/util/string/joinIntegerArray$742 + local.get $1 i32.const 1 i32.sub - local.tee $7 + local.tee $1 i32.const 0 i32.lt_s if @@ -28419,12 +28545,12 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinIntegerArray$722 + br $__inlined_func$~lib/util/string/joinIntegerArray$742 end - local.get $7 + local.get $1 i32.eqz if - local.get $3 + local.get $4 i32.load16_s call $~lib/util/number/itoa32 local.set $2 @@ -28432,7 +28558,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$722 + br $__inlined_func$~lib/util/string/joinIntegerArray$742 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -28445,7 +28571,7 @@ local.tee $8 i32.const 11 i32.add - local.get $7 + local.get $1 i32.mul i32.const 11 i32.add @@ -28456,18 +28582,18 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 - loop $for-loop|04 + loop $for-loop|05 local.get $1 - local.get $7 - i32.lt_s + local.get $3 + i32.gt_s if local.get $2 local.get $0 i32.const 1 i32.shl i32.add + local.get $4 local.get $3 - local.get $1 i32.const 1 i32.shl i32.add @@ -28493,20 +28619,21 @@ i32.add local.set $0 end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 - br $for-loop|04 + local.set $3 + br $for-loop|05 end end + local.get $9 local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $3 - local.get $7 + local.get $4 + local.get $1 i32.const 1 i32.shl i32.add @@ -28515,8 +28642,7 @@ local.get $0 i32.add local.tee $0 - local.get $9 - i32.lt_s + i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $2 @@ -28529,7 +28655,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$722 + br $__inlined_func$~lib/util/string/joinIntegerArray$742 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -28697,7 +28823,7 @@ i32.store local.get $0 i32.load offset=4 - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -28708,9 +28834,9 @@ i32.const 11856 i32.store i32.const 0 - local.set $1 - i32.const 0 local.set $0 + i32.const 0 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -28722,11 +28848,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$11 + block $__inlined_func$~lib/util/string/joinIntegerArray$13 local.get $2 i32.const 1 i32.sub - local.tee $7 + local.tee $4 i32.const 0 i32.lt_s if @@ -28736,17 +28862,17 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinIntegerArray$11 + br $__inlined_func$~lib/util/string/joinIntegerArray$13 end - block $folding-inner012 - local.get $7 + block $folding-inner09 + local.get $4 i32.eqz if block $__inlined_func$~lib/util/number/itoa64$4 (result i32) - local.get $3 + local.get $1 i64.load i64.extend32_s - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28758,7 +28884,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $4 + local.get $5 i64.eqz if global.get $~lib/memory/__stack_pointer @@ -28769,65 +28895,65 @@ br $__inlined_func$~lib/util/number/itoa64$4 end i64.const 0 - local.get $4 + local.get $5 i64.sub - local.get $4 - local.get $4 + local.get $5 + local.get $5 i64.const 63 i64.shr_u i32.wrap_i64 i32.const 1 i32.shl - local.tee $1 + local.tee $0 select - local.tee $4 + local.tee $5 i64.const 4294967295 i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.wrap_i64 - local.tee $2 + local.tee $1 i32.const 100000 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 100 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $2 + local.get $1 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $2 + local.get $1 i32.const 1000 i32.ge_u i32.add end else - local.get $2 + local.get $1 i32.const 10000000 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $2 + local.get $1 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $2 + local.get $1 i32.const 100000000 i32.ge_u i32.add @@ -28836,89 +28962,89 @@ local.tee $3 i32.const 1 i32.shl - local.get $1 + local.get $0 i32.add i32.const 2 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store local.get $0 - local.get $1 - i32.add local.get $2 + i32.add + local.get $1 local.get $3 call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i64.const 1000000000000000 i64.lt_u if (result i32) - local.get $4 + local.get $5 i64.const 1000000000000 i64.lt_u if (result i32) - local.get $4 + local.get $5 i64.const 100000000000 i64.ge_u i32.const 10 i32.add - local.get $4 + local.get $5 i64.const 10000000000 i64.ge_u i32.add else - local.get $4 + local.get $5 i64.const 100000000000000 i64.ge_u i32.const 13 i32.add - local.get $4 + local.get $5 i64.const 10000000000000 i64.ge_u i32.add end else - local.get $4 + local.get $5 i64.const 100000000000000000 i64.lt_u if (result i32) - local.get $4 + local.get $5 i64.const 10000000000000000 i64.ge_u i32.const 16 i32.add else - local.get $4 + local.get $5 i64.const -8446744073709551616 i64.ge_u i32.const 18 i32.add - local.get $4 + local.get $5 i64.const 1000000000000000000 i64.ge_u i32.add end end - local.tee $2 + local.tee $1 i32.const 1 i32.shl - local.get $1 + local.get $0 i32.add i32.const 2 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store local.get $0 - local.get $1 - i32.add - local.get $4 local.get $2 + i32.add + local.get $5 + local.get $1 call $~lib/util/number/utoa64_dec_lut end - local.get $1 + local.get $0 if - local.get $0 + local.get $2 i32.const 45 i32.store16 end @@ -28926,10 +29052,10 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 end local.set $2 - br $folding-inner012 + br $folding-inner09 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -28942,7 +29068,7 @@ local.tee $8 i32.const 21 i32.add - local.get $7 + local.get $4 i32.mul i32.const 21 i32.add @@ -28953,30 +29079,30 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 - loop $for-loop|015 - local.get $0 - local.get $7 + loop $for-loop|010 + local.get $3 + local.get $4 i32.lt_s if local.get $2 - local.get $1 + local.get $0 i32.const 1 i32.shl i32.add + local.get $1 local.get $3 - local.get $0 i32.const 3 i32.shl i32.add i64.load call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add - local.set $1 + local.set $0 local.get $8 if local.get $2 - local.get $1 + local.get $0 i32.const 1 i32.shl i32.add @@ -28985,35 +29111,35 @@ i32.const 1 i32.shl memory.copy - local.get $1 + local.get $0 local.get $8 i32.add - local.set $1 + local.set $0 end - local.get $0 + local.get $3 i32.const 1 i32.add - local.set $0 - br $for-loop|015 + local.set $3 + br $for-loop|010 end end + local.get $9 local.get $2 - local.get $1 + local.get $0 i32.const 1 i32.shl i32.add - local.get $3 - local.get $7 + local.get $1 + local.get $4 i32.const 3 i32.shl i32.add i64.load call $~lib/util/number/itoa_buffered - local.get $1 + local.get $0 i32.add local.tee $0 - local.get $9 - i32.lt_s + i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $2 @@ -29022,13 +29148,13 @@ local.get $0 call $~lib/string/String#substring local.set $2 - br $folding-inner012 + br $folding-inner09 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$11 + br $__inlined_func$~lib/util/string/joinIntegerArray$13 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -29198,7 +29324,7 @@ i32.const 0 i32.const 20 memory.fill - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$12 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$14 local.get $1 i32.const 1 i32.sub @@ -29212,7 +29338,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$12 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$14 end local.get $1 i32.eqz @@ -29237,7 +29363,7 @@ i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$12 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$14 end i32.const 11568 local.set $2 @@ -29251,8 +29377,8 @@ i32.load i32.const 1 i32.shr_u - local.set $7 - loop $for-loop|016 + local.set $4 + loop $for-loop|011 local.get $0 local.get $1 i32.lt_s @@ -29287,7 +29413,7 @@ local.tee $2 i32.store offset=8 end - local.get $7 + local.get $4 if global.get $~lib/memory/__stack_pointer local.get $2 @@ -29306,7 +29432,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|016 + br $for-loop|011 end end global.get $~lib/memory/__stack_pointer @@ -29451,7 +29577,7 @@ i32.const 0 i32.const 20 memory.fill - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$13 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$15 local.get $1 i32.const 1 i32.sub @@ -29465,7 +29591,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$13 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$15 end local.get $1 i32.eqz @@ -29490,7 +29616,7 @@ i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$13 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$15 end i32.const 11568 local.set $2 @@ -29504,8 +29630,8 @@ i32.load i32.const 1 i32.shr_u - local.set $7 - loop $for-loop|017 + local.set $4 + loop $for-loop|016 local.get $0 local.get $1 i32.lt_s @@ -29540,7 +29666,7 @@ local.tee $2 i32.store offset=8 end - local.get $7 + local.get $4 if global.get $~lib/memory/__stack_pointer local.get $2 @@ -29559,7 +29685,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|017 + br $for-loop|016 end end global.get $~lib/memory/__stack_pointer @@ -29708,7 +29834,7 @@ i32.const 0 i32.const 20 memory.fill - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$14 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$16 local.get $1 i32.const 1 i32.sub @@ -29722,7 +29848,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$14 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$16 end local.get $1 i32.eqz @@ -29747,7 +29873,7 @@ i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$14 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$16 end i32.const 11568 local.set $2 @@ -29761,8 +29887,8 @@ i32.load i32.const 1 i32.shr_u - local.set $7 - loop $for-loop|018 + local.set $4 + loop $for-loop|017 local.get $0 local.get $1 i32.lt_s @@ -29797,7 +29923,7 @@ local.tee $2 i32.store offset=8 end - local.get $7 + local.get $4 if global.get $~lib/memory/__stack_pointer local.get $2 @@ -29816,7 +29942,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|018 + br $for-loop|017 end end global.get $~lib/memory/__stack_pointer @@ -30039,7 +30165,7 @@ i32.store local.get $1 i32.load offset=4 - local.set $7 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store @@ -30050,20 +30176,20 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|021 + loop $for-loop|023 local.get $0 local.get $8 i32.lt_s if - local.get $7 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add i32.load - local.tee $3 + local.tee $4 if (result i32) - local.get $3 + local.get $4 i32.load offset=12 else i32.const 0 @@ -30075,7 +30201,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|021 + br $for-loop|023 end end global.get $~lib/memory/__stack_pointer @@ -30112,14 +30238,14 @@ i32.const 0 local.set $0 i32.const 0 - local.set $3 - loop $for-loop|122 - local.get $3 + local.set $4 + loop $for-loop|124 + local.get $4 local.get $8 i32.lt_s if - local.get $7 local.get $3 + local.get $4 i32.const 2 i32.shl i32.add @@ -30142,16 +30268,16 @@ i32.add local.set $0 end - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 - br $for-loop|122 + local.set $4 + br $for-loop|124 end end i32.const 0 local.set $0 - loop $for-loop|223 + loop $for-loop|225 local.get $0 local.get $1 i32.lt_s @@ -30169,7 +30295,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|223 + br $for-loop|225 end end global.get $~lib/memory/__stack_pointer @@ -30354,21 +30480,21 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $7 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store - local.get $7 + local.get $3 i32.load offset=4 local.set $8 i32.const 0 - local.set $3 - loop $for-loop|024 + local.set $4 + loop $for-loop|026 global.get $~lib/memory/__stack_pointer local.get $1 i32.store - local.get $3 + local.get $4 local.get $2 local.get $1 i32.load offset=12 @@ -30383,7 +30509,7 @@ local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.const 2 i32.shl local.tee $9 @@ -30400,7 +30526,7 @@ global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $10 - local.get $3 + local.get $4 local.get $1 i32.const 15984 i32.load @@ -30412,15 +30538,15 @@ i32.add local.get $10 i32.store - local.get $7 + local.get $3 local.get $10 i32.const 1 call $~lib/rt/itcms/__link - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 - br $for-loop|024 + local.set $4 + br $for-loop|026 end end global.get $~lib/memory/__stack_pointer @@ -30428,9 +30554,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store - local.get $7 + local.get $3 call $~lib/array/Array<~lib/array/Array>#flat local.tee $0 i32.store offset=440 @@ -30525,12 +30651,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|026 + loop $while-continue|028 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|026 + br $while-continue|028 end end end diff --git a/tests/compiler/std/arraybuffer.debug.wat b/tests/compiler/std/arraybuffer.debug.wat index e849478fb8..ed31bd6c6a 100644 --- a/tests/compiler/std/arraybuffer.debug.wat +++ b/tests/compiler/std/arraybuffer.debug.wat @@ -3024,6 +3024,30 @@ local.tee $this i32.store end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -3045,7 +3069,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3054,7 +3078,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 @@ -3067,7 +3091,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3075,7 +3099,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -3191,6 +3215,30 @@ local.tee $this i32.store end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + call $~lib/dataview/DataView#set:buffer + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + call $~lib/dataview/DataView#set:dataStart + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + call $~lib/dataview/DataView#set:byteLength local.get $byteLength i32.const 1073741820 i32.gt_u diff --git a/tests/compiler/std/arraybuffer.release.wat b/tests/compiler/std/arraybuffer.release.wat index 8418550f29..19c0a0192a 100644 --- a/tests/compiler/std/arraybuffer.release.wat +++ b/tests/compiler/std/arraybuffer.release.wat @@ -113,7 +113,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$179 + block $__inlined_func$~lib/rt/itcms/Object#unlink$185 local.get $0 i32.load offset=4 i32.const -4 @@ -137,7 +137,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$179 + br $__inlined_func$~lib/rt/itcms/Object#unlink$185 end local.get $0 i32.load offset=8 @@ -1779,6 +1779,27 @@ local.tee $0 i32.store end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 i32.const 1073741820 local.get $1 i32.shr_u @@ -1799,10 +1820,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=12 @@ -1814,13 +1835,13 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 local.get $2 i32.store offset=8 @@ -2326,6 +2347,27 @@ local.tee $2 i32.store global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 local.get $0 diff --git a/tests/compiler/std/dataview.debug.wat b/tests/compiler/std/dataview.debug.wat index 0a9c2964f8..9b9e4e7e62 100644 --- a/tests/compiler/std/dataview.debug.wat +++ b/tests/compiler/std/dataview.debug.wat @@ -2671,6 +2671,30 @@ local.tee $this i32.store end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -2692,7 +2716,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2701,7 +2725,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 @@ -2714,7 +2738,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -2722,7 +2746,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -2841,6 +2865,30 @@ local.tee $this i32.store end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + call $~lib/dataview/DataView#set:buffer + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + call $~lib/dataview/DataView#set:dataStart + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + call $~lib/dataview/DataView#set:byteLength local.get $byteLength i32.const 1073741820 i32.gt_u diff --git a/tests/compiler/std/dataview.release.wat b/tests/compiler/std/dataview.release.wat index d19ffaa90e..d1290df97c 100644 --- a/tests/compiler/std/dataview.release.wat +++ b/tests/compiler/std/dataview.release.wat @@ -121,7 +121,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$217 + block $__inlined_func$~lib/rt/itcms/Object#unlink$221 local.get $0 i32.load offset=4 i32.const -4 @@ -145,7 +145,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$217 + br $__inlined_func$~lib/rt/itcms/Object#unlink$221 end local.get $0 i32.load offset=8 @@ -1705,6 +1705,24 @@ local.tee $3 i32.store global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 local.get $0 @@ -3021,11 +3039,11 @@ i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -3065,175 +3083,200 @@ i32.const 1456 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $0 - i32.eqz - if + block $__inlined_func$~lib/typedarray/Uint8Array#constructor (result i32) global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + br $__inlined_func$~lib/typedarray/Uint8Array#constructor + end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=12 - local.get $0 - local.get $3 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.const 8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 246 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 224 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 88 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 159 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 130 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 i32.const 67 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 7 i32.const 95 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.load - local.tee $1 + local.tee $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.set $3 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $1 + i32.store offset=8 + local.get $2 local.get $3 - local.get $0 + local.get $1 i32.load offset=8 call $~lib/dataview/DataView#constructor - local.tee $1 + local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3248,9 +3291,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3265,9 +3308,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3282,9 +3325,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3299,9 +3342,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3316,9 +3359,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3333,9 +3376,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3350,9 +3393,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3367,9 +3410,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3384,9 +3427,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3401,9 +3444,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getFloat64 f64.const 7936550095674706383278551e126 @@ -3417,9 +3460,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getFloat64 f64.const -411777475818852546741639e241 @@ -3433,9 +3476,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt8 i32.const -10 @@ -3449,9 +3492,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getInt8 i32.const -32 @@ -3465,9 +3508,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 call $~lib/dataview/DataView#getInt8 i32.const 88 @@ -3481,9 +3524,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 call $~lib/dataview/DataView#getInt8 i32.const -97 @@ -3497,9 +3540,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 call $~lib/dataview/DataView#getInt8 i32.const -126 @@ -3513,9 +3556,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 5 call $~lib/dataview/DataView#getInt8 i32.const 101 @@ -3529,9 +3572,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 6 call $~lib/dataview/DataView#getInt8 i32.const 67 @@ -3545,9 +3588,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 7 call $~lib/dataview/DataView#getInt8 i32.const 95 @@ -3561,9 +3604,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3580,9 +3623,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3599,9 +3642,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3618,9 +3661,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3637,9 +3680,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3656,9 +3699,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 5 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3675,9 +3718,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 6 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3694,9 +3737,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3713,9 +3756,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3732,9 +3775,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3751,9 +3794,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3770,9 +3813,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3789,9 +3832,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 5 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3808,9 +3851,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 6 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3827,9 +3870,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3844,9 +3887,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3861,9 +3904,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3878,9 +3921,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3895,9 +3938,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3912,9 +3955,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3929,9 +3972,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3946,9 +3989,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3963,9 +4006,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3980,9 +4023,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3997,9 +4040,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getInt64 i64.const 6864441868736323830 @@ -4013,9 +4056,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt64 i64.const -657428103485373601 @@ -4029,9 +4072,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint8 i32.const 246 @@ -4045,9 +4088,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getUint8 i32.const 224 @@ -4061,9 +4104,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 call $~lib/dataview/DataView#getUint8 i32.const 88 @@ -4077,9 +4120,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 call $~lib/dataview/DataView#getUint8 i32.const 159 @@ -4093,9 +4136,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 call $~lib/dataview/DataView#getUint8 i32.const 130 @@ -4109,9 +4152,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 5 call $~lib/dataview/DataView#getUint8 i32.const 101 @@ -4125,9 +4168,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 6 call $~lib/dataview/DataView#getUint8 i32.const 67 @@ -4141,9 +4184,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 7 call $~lib/dataview/DataView#getUint8 i32.const 95 @@ -4157,9 +4200,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4176,9 +4219,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4195,9 +4238,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4214,9 +4257,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4233,9 +4276,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4252,9 +4295,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 5 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4271,9 +4314,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 6 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4290,9 +4333,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4309,9 +4352,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4328,9 +4371,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4347,9 +4390,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4366,9 +4409,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4385,9 +4428,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 5 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4404,9 +4447,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 6 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4423,9 +4466,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4440,9 +4483,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4457,9 +4500,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4474,9 +4517,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4491,9 +4534,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4508,9 +4551,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4525,9 +4568,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4542,9 +4585,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4559,9 +4602,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4576,9 +4619,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4593,9 +4636,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getUint64 i64.const 6864441868736323830 @@ -4609,9 +4652,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint64 i64.const -657428103485373601 @@ -4625,16 +4668,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 f32.const 1.5976661625240943e-18 i32.const 1 call $~lib/dataview/DataView#setFloat32 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -4649,16 +4692,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 f32.const 1976281973381696323584 i32.const 0 call $~lib/dataview/DataView#setFloat32 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -4673,16 +4716,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 f64.const -1094252199637739024055454e124 i32.const 1 call $~lib/dataview/DataView#setFloat64 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getFloat64 f64.const -1094252199637739024055454e124 @@ -4696,16 +4739,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 f64.const 6.022586634778589e-103 i32.const 0 call $~lib/dataview/DataView#setFloat64 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getFloat64 f64.const 6.022586634778589e-103 @@ -4719,7 +4762,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4728,14 +4771,14 @@ global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 i32.load offset=8 i32.eqz if @@ -4747,9 +4790,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 i32.load offset=4 i32.const 108 i32.store8 @@ -4758,9 +4801,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt8 i32.const 108 @@ -4774,16 +4817,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const -13360 i32.const 1 call $~lib/dataview/DataView#setInt16 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -4800,16 +4843,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 14689 i32.const 0 call $~lib/dataview/DataView#setInt16 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4826,16 +4869,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1204680201 i32.const 1 call $~lib/dataview/DataView#setInt32 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4850,16 +4893,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 660673230 i32.const 0 call $~lib/dataview/DataView#setInt32 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4874,16 +4917,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i64.const -3290739641816099749 i32.const 1 call $~lib/dataview/DataView#setInt64 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getInt64 i64.const -3290739641816099749 @@ -4897,16 +4940,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i64.const 8178932412950708047 i32.const 0 call $~lib/dataview/DataView#setInt64 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt64 i64.const 8178932412950708047 @@ -4920,7 +4963,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4929,14 +4972,14 @@ global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 i32.load offset=8 i32.eqz if @@ -4948,9 +4991,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 i32.load offset=4 i32.const 238 i32.store8 @@ -4959,9 +5002,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint8 i32.const 238 @@ -4975,16 +5018,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 58856 i32.const 1 call $~lib/dataview/DataView#setUint16 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -5001,16 +5044,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 60400 i32.const 0 call $~lib/dataview/DataView#setUint16 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -5027,16 +5070,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const -846805744 i32.const 1 call $~lib/dataview/DataView#setUint32 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -5051,16 +5094,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const -1510791631 i32.const 0 call $~lib/dataview/DataView#setUint32 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -5075,16 +5118,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i64.const 2334704782995986958 i32.const 1 call $~lib/dataview/DataView#setUint64 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getUint64 i64.const 2334704782995986958 @@ -5098,16 +5141,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i64.const -7123186897289856329 i32.const 0 call $~lib/dataview/DataView#setUint64 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint64 i64.const -7123186897289856329 @@ -5122,12 +5165,12 @@ end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.load - local.tee $0 + local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -5136,14 +5179,14 @@ global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -5152,23 +5195,23 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 local.get $2 call $~lib/dataview/DataView#constructor - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -5179,9 +5222,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.load offset=8 i32.const 8 i32.ne diff --git a/tests/compiler/std/date.debug.wat b/tests/compiler/std/date.debug.wat index 1f7888e9e8..f67503e5e9 100644 --- a/tests/compiler/std/date.debug.wat +++ b/tests/compiler/std/date.debug.wat @@ -3854,6 +3854,30 @@ local.get $2 local.get $epochMillis call $~lib/date/Date#set:epochMillis + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/date/Date#set:year + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/date/Date#set:month + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/date/Date#set:day local.get $epochMillis call $~lib/date/invalidDate if diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index 8000608a6e..4b706f0de3 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -504,7 +504,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$373 + block $__inlined_func$~lib/rt/itcms/Object#unlink$376 local.get $0 i32.load offset=4 i32.const -4 @@ -528,7 +528,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$373 + br $__inlined_func$~lib/rt/itcms/Object#unlink$376 end local.get $0 i32.load offset=8 @@ -2548,6 +2548,24 @@ local.get $1 local.get $0 i64.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 local.get $0 i64.const -8640000000000000 i64.lt_s @@ -3292,7 +3310,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store - block $__inlined_func$~lib/string/String#padStart$381 + block $__inlined_func$~lib/string/String#padStart$384 i32.const 1868 i32.load i32.const -2 @@ -3311,7 +3329,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String#padStart$381 + br $__inlined_func$~lib/string/String#padStart$384 end global.get $~lib/memory/__stack_pointer local.get $5 @@ -3748,7 +3766,7 @@ global.get $~lib/memory/__stack_pointer local.get $4 i32.store - block $__inlined_func$~lib/string/String#concat$382 + block $__inlined_func$~lib/string/String#concat$385 local.get $4 i32.const 20 i32.sub @@ -3767,7 +3785,7 @@ global.set $~lib/memory/__stack_pointer i32.const 3456 local.set $1 - br $__inlined_func$~lib/string/String#concat$382 + br $__inlined_func$~lib/string/String#concat$385 end global.get $~lib/memory/__stack_pointer local.get $1 @@ -5102,7 +5120,7 @@ i32.load16_u local.set $0 loop $while-continue|0 - block $__inlined_func$~lib/util/string/isSpace$161 (result i32) + block $__inlined_func$~lib/util/string/isSpace$164 (result i32) local.get $0 i32.const 128 i32.or @@ -5117,7 +5135,7 @@ local.get $0 i32.const 5760 i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace$161 + br_if $__inlined_func$~lib/util/string/isSpace$164 drop i32.const 1 local.get $0 @@ -5125,7 +5143,7 @@ i32.add i32.const 10 i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace$161 + br_if $__inlined_func$~lib/util/string/isSpace$164 drop block $break|0 block $case0|0 @@ -5160,7 +5178,7 @@ br $break|0 end i32.const 1 - br $__inlined_func$~lib/util/string/isSpace$161 + br $__inlined_func$~lib/util/string/isSpace$164 end i32.const 0 end @@ -5408,7 +5426,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$360 + block $__inlined_func$~lib/rt/itcms/__renew$363 i32.const 1073741820 local.get $2 i32.const 1 @@ -5451,7 +5469,7 @@ i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$360 + br $__inlined_func$~lib/rt/itcms/__renew$363 end local.get $3 local.get $4 @@ -6155,7 +6173,7 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store - block $__inlined_func$~lib/string/String#charCodeAt$383 + block $__inlined_func$~lib/string/String#charCodeAt$386 local.get $3 local.get $2 i32.const 20 @@ -6171,7 +6189,7 @@ global.set $~lib/memory/__stack_pointer i32.const -1 local.set $0 - br $__inlined_func$~lib/string/String#charCodeAt$383 + br $__inlined_func$~lib/string/String#charCodeAt$386 end local.get $2 local.get $3 @@ -6422,7 +6440,7 @@ call $~lib/util/string/strtol local.set $6 global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/string/String#substr$384 (result i32) + block $__inlined_func$~lib/string/String#substr$387 (result i32) global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=44 @@ -6485,7 +6503,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 3456 - br $__inlined_func$~lib/string/String#substr$384 + br $__inlined_func$~lib/string/String#substr$387 end global.get $~lib/memory/__stack_pointer local.get $8 @@ -6535,7 +6553,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store - block $__inlined_func$~lib/string/String#padEnd$385 + block $__inlined_func$~lib/string/String#padEnd$388 i32.const 1868 i32.load i32.const -2 @@ -6551,7 +6569,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String#padEnd$385 + br $__inlined_func$~lib/string/String#padEnd$388 end global.get $~lib/memory/__stack_pointer i32.const 6 diff --git a/tests/compiler/std/map.debug.wat b/tests/compiler/std/map.debug.wat index 88ecea767b..da8784b71b 100644 --- a/tests/compiler/std/map.debug.wat +++ b/tests/compiler/std/map.debug.wat @@ -2369,6 +2369,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2489,16 +2499,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2649,6 +2649,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -2677,6 +2687,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -2728,16 +2748,6 @@ local.get $taggedNext i32.store offset=4 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2857,16 +2867,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -2895,6 +2895,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3016,16 +3026,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3086,6 +3086,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -3137,16 +3147,6 @@ local.get $taggedNext i32.store offset=4 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -3175,6 +3175,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3295,16 +3305,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3365,6 +3365,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -3416,16 +3426,6 @@ local.get $taggedNext i32.store offset=4 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -3454,6 +3454,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3575,16 +3585,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3645,6 +3645,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -3696,16 +3706,6 @@ local.get $taggedNext i32.store offset=4 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -3734,6 +3734,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3853,16 +3863,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3923,6 +3923,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -3974,16 +3984,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -4012,6 +4012,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) (local $h i32) @@ -4148,16 +4158,6 @@ local.get $taggedNext i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4218,6 +4218,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -4269,16 +4279,6 @@ local.get $taggedNext i32.store offset=16 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -4307,6 +4307,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) (local $h i32) @@ -4443,16 +4453,6 @@ local.get $taggedNext i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4513,6 +4513,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -4564,16 +4574,6 @@ local.get $taggedNext i32.store offset=16 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -4602,6 +4602,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key f32) (result i32) (local $key|1 i32) (local $len i32) @@ -4722,16 +4732,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4792,6 +4792,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -4843,16 +4853,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -4881,6 +4881,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key f64) (result i32) (local $key|1 i64) (local $h i32) @@ -5018,16 +5028,6 @@ local.get $taggedNext i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -5088,6 +5088,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -5139,16 +5149,6 @@ local.get $taggedNext i32.store offset=16 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/rt/itcms/__collect i32.const 0 drop @@ -5820,6 +5820,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -6433,6 +6449,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 0 @@ -6462,7 +6510,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -6471,7 +6519,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -6484,7 +6532,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -6492,7 +6540,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -6500,7 +6548,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -6858,6 +6906,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -6887,7 +6967,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -6896,7 +6976,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -6909,7 +6989,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -6917,7 +6997,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -6925,7 +7005,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -7218,6 +7298,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -7304,6 +7400,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -9395,6 +9507,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -10010,6 +10138,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 0 @@ -10039,7 +10199,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10048,7 +10208,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -10061,7 +10221,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -10069,7 +10229,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -10077,7 +10237,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -10473,6 +10633,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12007,6 +12183,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12620,6 +12812,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 1 @@ -12649,7 +12873,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -12658,7 +12882,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -12671,7 +12895,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -12679,7 +12903,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -12687,7 +12911,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -13083,6 +13307,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -14615,6 +14855,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -15230,6 +15486,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 1 @@ -15259,7 +15547,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -15268,7 +15556,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -15281,7 +15569,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -15289,7 +15577,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -15297,7 +15585,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -15693,6 +15981,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -18390,6 +18694,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -19001,6 +19321,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -19030,7 +19382,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -19039,7 +19391,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -19052,7 +19404,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -19060,7 +19412,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -19068,7 +19420,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -19464,6 +19816,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -20994,6 +21362,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -21605,6 +21989,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -21634,7 +22050,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -21643,7 +22059,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -21656,7 +22072,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -21664,7 +22080,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -21672,7 +22088,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -22068,6 +22484,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -23607,6 +24039,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -24218,6 +24666,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -24247,7 +24727,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -24256,7 +24736,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -24269,7 +24749,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -24277,7 +24757,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -24285,7 +24765,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -24681,6 +25161,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -26220,6 +26716,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -26831,6 +27343,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -26860,7 +27404,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -26869,7 +27413,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -26882,7 +27426,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -26890,7 +27434,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -26898,7 +27442,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -27294,6 +27838,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -28833,6 +29393,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -29444,6 +30020,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -29473,7 +30081,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -29482,7 +30090,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -29495,7 +30103,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -29503,7 +30111,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -29511,7 +30119,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -29907,6 +30515,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/map.release.wat b/tests/compiler/std/map.release.wat index 9c3ea4e7c8..4148a7ac94 100644 --- a/tests/compiler/std/map.release.wat +++ b/tests/compiler/std/map.release.wat @@ -134,7 +134,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$1346 + block $__inlined_func$~lib/rt/itcms/Object#unlink$1422 local.get $0 i32.load offset=4 i32.const -4 @@ -158,7 +158,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$1346 + br $__inlined_func$~lib/rt/itcms/Object#unlink$1422 end local.get $0 i32.load offset=8 @@ -2478,7 +2478,7 @@ select local.set $1 end - block $__inlined_func$~lib/rt/itcms/__renew$1299 + block $__inlined_func$~lib/rt/itcms/__renew$1377 local.get $4 i32.const 20 i32.sub @@ -2496,7 +2496,7 @@ i32.store offset=16 local.get $4 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew$1299 + br $__inlined_func$~lib/rt/itcms/__renew$1377 end local.get $1 local.get $3 @@ -2671,6 +2671,33 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=12 local.get $0 i32.const 268435455 i32.gt_u @@ -2695,10 +2722,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 @@ -2710,19 +2737,19 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 + i32.store offset=4 local.get $1 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 + i32.store offset=4 local.get $1 local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 + i32.store offset=4 local.get $1 local.get $0 i32.store offset=12 @@ -2998,6 +3025,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -3168,7 +3207,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1301" + block $"__inlined_func$~lib/map/Map#find$1378" loop $while-continue|0 local.get $3 if @@ -3192,7 +3231,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1301" + br $"__inlined_func$~lib/map/Map#find$1378" end local.get $4 i32.const -2 @@ -4207,7 +4246,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -4240,66 +4278,78 @@ i32.const 24 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 i32.store - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -4310,19 +4360,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4334,12 +4384,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 10 i32.add i32.ne @@ -4351,17 +4401,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -4374,17 +4424,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4396,12 +4446,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 10 i32.add i32.ne @@ -4414,19 +4464,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4438,12 +4488,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 20 i32.add i32.ne @@ -4455,17 +4505,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -4478,174 +4528,196 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - block $"__inlined_func$~lib/map/Map#keys$3" (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.load offset=16 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $9 - i32.store - local.get $8 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $8 - local.get $8 - i32.const 8 - i32.le_u - select - local.tee $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $9 - local.get $5 - i32.store - local.get $9 - local.get $5 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - local.get $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - local.get $8 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store + local.get $7 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=12 + local.get $6 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $6 + local.get $6 + i32.const 8 + i32.le_u + select + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $5 + local.get $3 + i32.const 12 + i32.mul i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - loop $for-loop|01 - local.get $3 + local.tee $8 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 local.get $8 - i32.lt_s - if - local.get $6 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $1 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - local.get $0 - local.get $1 - i32.load8_s - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|01 - end + i32.load8_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - br $"__inlined_func$~lib/map/Map#keys$3" + local.set $3 + br $for-loop|00 end - br $folding-inner1 end - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 call $"~lib/map/Map#values" - local.tee $1 + local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4666,55 +4738,67 @@ i32.const 24 i32.const 7 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 + local.get $4 local.get $5 - local.get $6 i32.store + local.get $4 local.get $5 - local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 + local.get $4 local.get $5 - local.get $6 i32.store offset=8 + local.get $4 local.get $5 - local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -4722,15 +4806,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store offset=4 - local.get $0 + local.get $7 call $~lib/array/Array#get:length - local.get $4 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4744,10 +4828,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store - local.get $4 - local.get $0 + local.get $2 + local.get $7 i32.load offset=12 i32.ge_u if @@ -4759,30 +4843,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store - local.get $4 - local.get $0 + local.get $2 + local.get $7 i32.load offset=4 i32.add i32.load8_s - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 - local.get $4 + local.get $0 + local.get $2 call $~lib/array/Array#__get - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $"~lib/map/Map#has" i32.eqz if @@ -4794,10 +4878,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 - local.get $7 + local.get $1 + local.get $6 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -4811,33 +4895,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 + local.get $4 + local.get $5 local.get $5 - local.get $6 - local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $7 + local.get $6 i32.const 20 i32.sub - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 call $"~lib/map/Map#set" - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -4865,17 +4949,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4887,12 +4971,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 20 i32.add i32.ne @@ -4905,16 +4989,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -4924,17 +5008,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -4947,17 +5031,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|4 - local.get $1 + local.get $0 i32.const 50 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -4968,19 +5052,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4992,16 +5076,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -5011,17 +5095,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -5034,14 +5118,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" if i32.const 0 @@ -5673,7 +5757,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1306" + block $"__inlined_func$~lib/map/Map#find$1383" loop $while-continue|0 local.get $3 if @@ -5697,7 +5781,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1306" + br $"__inlined_func$~lib/map/Map#find$1383" end local.get $4 i32.const -2 @@ -6175,7 +6259,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -6208,66 +6291,78 @@ i32.const 24 i32.const 9 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 i32.store - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -6278,19 +6373,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6302,12 +6397,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 10 i32.add i32.ne @@ -6319,17 +6414,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -6342,17 +6437,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6364,12 +6459,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 10 i32.add i32.ne @@ -6382,19 +6477,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6406,12 +6501,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 20 i32.add i32.ne @@ -6423,17 +6518,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -6446,178 +6541,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - block $"__inlined_func$~lib/map/Map#keys$5" (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.load offset=16 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $9 - i32.store - local.get $8 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $8 - local.get $8 - i32.const 8 - i32.le_u - select - local.tee $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $9 - local.get $5 - i32.store - local.get $9 - local.get $5 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - local.get $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - local.get $8 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - loop $for-loop|01 - local.get $3 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $1 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - local.get $0 - local.get $1 - i32.load8_u - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|01 - end - end - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - br $"__inlined_func$~lib/map/Map#keys$5" - end - br $folding-inner1 - end - local.tee $0 - i32.store offset=8 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.const 1896 + i32.lt_s + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.get $2 - call $"~lib/map/Map#values" - local.tee $1 - i32.store offset=12 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $6 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -6628,61 +6580,238 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 11 + i32.const 16 + i32.const 10 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $7 i32.store offset=4 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $5 - local.get $6 + local.get $7 + i32.const 0 i32.store - local.get $5 - local.get $6 + local.get $7 + i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $7 i32.store offset=4 - local.get $5 - i32.const 3 + local.get $7 + i32.const 0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $7 i32.store offset=4 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.get $7 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=12 local.get $6 - i32.store offset=8 - local.get $5 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 local.get $6 - i32.store offset=8 - local.get $5 local.get $6 + i32.const 8 + i32.le_u + select + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $7 i32.store offset=4 - local.get $5 - i32.const 4 + local.get $7 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $6 i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $5 + local.get $3 + i32.const 12 + i32.mul + i32.add + local.tee $8 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $8 + i32.load8_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $"~lib/map/Map#values" + local.tee $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $4 + local.get $5 + i32.store + local.get $4 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $4 + local.get $5 + i32.store offset=8 + local.get $4 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -6690,15 +6819,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store offset=4 - local.get $0 + local.get $7 call $~lib/array/Array#get:length - local.get $4 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6712,10 +6841,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store - local.get $4 - local.get $0 + local.get $2 + local.get $7 i32.load offset=12 i32.ge_u if @@ -6727,30 +6856,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store - local.get $4 - local.get $0 + local.get $2 + local.get $7 i32.load offset=4 i32.add i32.load8_u - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 - local.get $4 + local.get $0 + local.get $2 call $~lib/array/Array#__get - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $"~lib/map/Map#has" i32.eqz if @@ -6762,10 +6891,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 - local.get $7 + local.get $1 + local.get $6 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -6779,33 +6908,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 + local.get $4 + local.get $5 local.get $5 - local.get $6 - local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $7 + local.get $6 i32.const 20 i32.sub - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 call $"~lib/map/Map#set" - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -6833,17 +6962,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6855,12 +6984,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 20 i32.add i32.ne @@ -6873,16 +7002,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -6892,17 +7021,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -6915,17 +7044,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|4 - local.get $1 + local.get $0 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -6936,19 +7065,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6960,16 +7089,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -6979,17 +7108,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -7002,14 +7131,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" if i32.const 0 @@ -7818,7 +7947,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1311" + block $"__inlined_func$~lib/map/Map#find$1388" loop $while-continue|0 local.get $3 if @@ -7842,7 +7971,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1311" + br $"__inlined_func$~lib/map/Map#find$1388" end local.get $4 i32.const -2 @@ -8319,7 +8448,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -8352,66 +8480,78 @@ i32.const 24 i32.const 12 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 i32.store - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -8422,19 +8562,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -8446,12 +8586,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 10 i32.add i32.ne @@ -8463,17 +8603,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -8486,17 +8626,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -8508,12 +8648,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 10 i32.add i32.ne @@ -8526,19 +8666,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -8550,12 +8690,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 20 i32.add i32.ne @@ -8567,17 +8707,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -8590,176 +8730,198 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - block $"__inlined_func$~lib/map/Map#keys$7" (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.load offset=16 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $9 - i32.store - local.get $8 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $8 - local.get $8 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $9 - local.get $5 - i32.store - local.get $9 - local.get $5 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store + local.get $7 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=12 + local.get $6 + i32.const 536870910 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $6 + local.get $6 + i32.const 8 + i32.le_u + select + i32.const 1 + i32.shl + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $3 + local.get $6 + i32.lt_s + if local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - local.get $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - local.get $8 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $3 + i32.const 12 + i32.mul i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - loop $for-loop|01 - local.get $3 + local.tee $8 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 local.get $8 - i32.lt_s - if - local.get $6 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $1 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - local.get $0 - local.get $1 - i32.load16_s - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|01 - end + i32.load16_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - br $"__inlined_func$~lib/map/Map#keys$7" + local.set $3 + br $for-loop|00 end - br $folding-inner1 end - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 call $"~lib/map/Map#values" - local.tee $1 + local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -8780,55 +8942,67 @@ i32.const 24 i32.const 14 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 + local.get $4 local.get $5 - local.get $6 i32.store + local.get $4 local.get $5 - local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 + local.get $4 local.get $5 - local.get $6 i32.store offset=8 + local.get $4 local.get $5 - local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -8836,15 +9010,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store offset=4 - local.get $0 + local.get $7 call $~lib/array/Array#get:length - local.get $4 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -8858,10 +9032,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store - local.get $4 - local.get $0 + local.get $2 + local.get $7 i32.load offset=12 i32.ge_u if @@ -8873,32 +9047,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store - local.get $0 + local.get $7 i32.load offset=4 - local.get $4 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_s - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 - local.get $4 + local.get $0 + local.get $2 call $~lib/array/Array#__get - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $"~lib/map/Map#has" i32.eqz if @@ -8910,10 +9084,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 - local.get $7 + local.get $1 + local.get $6 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -8927,33 +9101,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 + local.get $4 + local.get $5 local.get $5 - local.get $6 - local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $7 + local.get $6 i32.const 20 i32.sub - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 call $"~lib/map/Map#set" - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -8981,17 +9155,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -9003,12 +9177,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 20 i32.add i32.ne @@ -9021,16 +9195,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -9040,17 +9214,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -9063,17 +9237,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|4 - local.get $1 + local.get $0 i32.const 50 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -9084,19 +9258,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -9108,16 +9282,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -9127,17 +9301,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -9150,14 +9324,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" if i32.const 0 @@ -9789,7 +9963,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1316" + block $"__inlined_func$~lib/map/Map#find$1393" loop $while-continue|0 local.get $3 if @@ -9813,7 +9987,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1316" + br $"__inlined_func$~lib/map/Map#find$1393" end local.get $4 i32.const -2 @@ -10291,7 +10465,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -10324,66 +10497,78 @@ i32.const 24 i32.const 15 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 i32.store - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -10394,19 +10579,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -10418,12 +10603,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 10 i32.add i32.ne @@ -10435,17 +10620,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -10458,17 +10643,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -10480,12 +10665,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 10 i32.add i32.ne @@ -10498,19 +10683,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -10522,12 +10707,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 20 i32.add i32.ne @@ -10539,17 +10724,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -10562,176 +10747,198 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - block $"__inlined_func$~lib/map/Map#keys$9" (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.load offset=16 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $9 - i32.store - local.get $8 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $8 - local.get $8 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $9 - local.get $5 - i32.store - local.get $9 - local.get $5 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store + local.get $7 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=12 + local.get $6 + i32.const 536870910 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $6 + local.get $6 + i32.const 8 + i32.le_u + select + i32.const 1 + i32.shl + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $3 + local.get $6 + i32.lt_s + if local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - local.get $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - local.get $8 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $3 + i32.const 12 + i32.mul i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - loop $for-loop|01 - local.get $3 + local.tee $8 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 local.get $8 - i32.lt_s - if - local.get $6 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $1 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - local.get $0 - local.get $1 - i32.load16_u - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|01 - end + i32.load16_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - br $"__inlined_func$~lib/map/Map#keys$9" + local.set $3 + br $for-loop|00 end - br $folding-inner1 end - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 call $"~lib/map/Map#values" - local.tee $1 + local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -10752,55 +10959,67 @@ i32.const 24 i32.const 17 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 + local.get $4 local.get $5 - local.get $6 i32.store + local.get $4 local.get $5 - local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 + local.get $4 local.get $5 - local.get $6 i32.store offset=8 + local.get $4 local.get $5 - local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -10808,15 +11027,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store offset=4 - local.get $0 + local.get $7 call $~lib/array/Array#get:length - local.get $4 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -10830,10 +11049,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store - local.get $4 - local.get $0 + local.get $2 + local.get $7 i32.load offset=12 i32.ge_u if @@ -10845,32 +11064,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store - local.get $0 + local.get $7 i32.load offset=4 - local.get $4 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_u - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 - local.get $4 + local.get $0 + local.get $2 call $~lib/array/Array#__get - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $"~lib/map/Map#has" i32.eqz if @@ -10882,10 +11101,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 - local.get $7 + local.get $1 + local.get $6 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -10899,33 +11118,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 + local.get $4 + local.get $5 local.get $5 - local.get $6 - local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $7 + local.get $6 i32.const 20 i32.sub - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 call $"~lib/map/Map#set" - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -10953,17 +11172,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -10975,12 +11194,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 20 i32.add i32.ne @@ -10993,16 +11212,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -11012,17 +11231,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -11035,17 +11254,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|4 - local.get $1 + local.get $0 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -11056,19 +11275,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -11080,16 +11299,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -11099,17 +11318,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -11122,14 +11341,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" if i32.const 0 @@ -13148,7 +13367,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -13181,66 +13399,78 @@ i32.const 24 i32.const 18 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 i32.store - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 i32.store offset=8 - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -13251,19 +13481,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -13275,12 +13505,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 10 i32.add i32.ne @@ -13292,17 +13522,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -13315,17 +13545,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -13337,12 +13567,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 10 i32.add i32.ne @@ -13355,19 +13585,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -13379,12 +13609,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 20 i32.add i32.ne @@ -13396,17 +13626,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -13419,176 +13649,198 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 19 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store + local.get $7 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store offset=12 + local.get $6 + i32.const 268435455 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $6 + local.get $6 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - block $"__inlined_func$~lib/map/Map#keys$11" (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.load offset=16 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 19 - call $~lib/rt/itcms/__new - local.tee $9 - i32.store - local.get $8 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $8 - local.get $8 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $9 - local.get $5 - i32.store - local.get $9 - local.get $5 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $3 + local.get $6 + i32.lt_s + if local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - local.get $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - local.get $8 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $3 + i32.const 12 + i32.mul i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - loop $for-loop|01 - local.get $3 + local.tee $8 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 local.get $8 - i32.lt_s - if - local.get $6 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $1 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - local.get $0 - local.get $1 - i32.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|01 - end + i32.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - br $"__inlined_func$~lib/map/Map#keys$11" + local.set $3 + br $for-loop|00 end - br $folding-inner1 end - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 call $"~lib/map/Map#values" - local.tee $1 + local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -13609,55 +13861,67 @@ i32.const 24 i32.const 20 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 + local.get $4 local.get $5 - local.get $6 i32.store + local.get $4 local.get $5 - local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 + local.get $4 local.get $5 - local.get $6 i32.store offset=8 + local.get $4 local.get $5 - local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -13665,15 +13929,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store offset=4 - local.get $0 + local.get $7 call $~lib/array/Array#get:length - local.get $4 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -13687,10 +13951,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store - local.get $4 - local.get $0 + local.get $2 + local.get $7 i32.load offset=12 i32.ge_u if @@ -13702,32 +13966,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 i32.store - local.get $0 + local.get $7 i32.load offset=4 - local.get $4 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 - local.get $4 + local.get $0 + local.get $2 call $~lib/array/Array#__get - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 - local.get $6 + local.get $1 + local.get $5 call $"~lib/map/Map#has" i32.eqz if @@ -13739,10 +14003,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 - local.get $7 + local.get $1 + local.get $6 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -13756,33 +14020,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 + local.get $4 + local.get $5 local.get $5 - local.get $6 - local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $7 + local.get $6 i32.const 20 i32.sub - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 call $"~lib/map/Map#set" - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.store offset=4 - local.get $5 + local.get $4 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -13810,17 +14074,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|3 - local.get $1 + local.get $0 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -13832,12 +14096,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#get" - local.get $1 + local.get $0 i32.const 20 i32.add i32.ne @@ -13850,16 +14114,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -13869,17 +14133,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -13892,17 +14156,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|4 - local.get $1 + local.get $0 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -13913,19 +14177,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -13937,16 +14201,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 local.get $1 + local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -13956,17 +14220,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -13979,14 +14243,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 call $"~lib/map/Map#get:size" if i32.const 0 @@ -14937,7 +15201,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1326" + block $"__inlined_func$~lib/map/Map#find$1403" loop $while-continue|0 local.get $3 if @@ -14959,7 +15223,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1326" + br $"__inlined_func$~lib/map/Map#find$1403" end local.get $4 i32.const -2 @@ -15540,7 +15804,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -15580,15 +15843,15 @@ i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 local.get $1 - local.get $6 + local.get $5 i32.store local.get $1 - local.get $6 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 @@ -15601,15 +15864,15 @@ i32.store offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 local.get $1 - local.get $6 + local.get $5 i32.store offset=8 local.get $1 - local.get $6 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 @@ -15618,6 +15881,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -15801,183 +16076,203 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $7 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store offset=12 + local.get $7 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $7 + local.get $7 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $9 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $8 + local.get $4 + i32.store + local.get $8 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $4 i32.store offset=4 - local.get $1 - call $"~lib/map/Map#get:size" - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $8 i32.store offset=4 + local.get $8 + local.get $9 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - block $"__inlined_func$~lib/map/Map#keys$19" (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $10 - i32.store - local.get $5 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl - local.tee $6 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $10 - local.get $7 - i32.store - local.get $10 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 + local.get $8 + i32.store offset=4 + local.get $8 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + loop $for-loop|00 + local.get $3 + local.get $7 + i32.lt_s + if local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $3 + i32.const 4 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - loop $for-loop|01 - local.get $3 - local.get $5 - i32.lt_s - if - local.get $8 - local.get $3 - i32.const 4 - i32.shl - i32.add - local.tee $6 - i32.load offset=12 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - local.get $0 - local.get $6 - i64.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|01 - end + local.tee $4 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + local.get $8 + local.get $0 + local.get $4 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - br $"__inlined_func$~lib/map/Map#keys$19" + local.set $3 + br $for-loop|00 end - br $folding-inner1 end - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + local.get $8 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 @@ -15985,7 +16280,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 call $"~lib/map/Map#values" - local.tee $3 + local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16006,71 +16301,85 @@ i32.const 24 i32.const 23 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=8 - local.get $6 - local.get $7 + local.get $4 + local.get $5 i32.store - local.get $6 - local.get $7 + local.get $4 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 - local.get $6 + local.get $4 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=8 - local.get $6 - local.get $7 + local.get $4 + local.get $5 i32.store offset=8 - local.get $6 - local.get $7 + local.get $4 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 - local.get $6 + local.get $4 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" local.tee $5 i32.store offset=20 + i32.const 0 + local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store offset=4 - local.get $0 + local.get $8 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -16084,10 +16393,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store - local.get $4 - local.get $0 + local.get $3 + local.get $8 i32.load offset=12 i32.ge_u if @@ -16099,11 +16408,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store - local.get $0 + local.get $8 i32.load offset=4 - local.get $4 + local.get $3 i32.const 3 i32.shl i32.add @@ -16114,12 +16423,12 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=4 + local.get $0 local.get $3 - local.get $4 call $~lib/array/Array#__get - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 @@ -16139,7 +16448,7 @@ local.get $1 i32.store offset=4 local.get $1 - local.get $7 + local.get $6 i32.const 20 i32.sub i64.extend_i32_s @@ -16154,9 +16463,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 - local.get $6 + local.get $4 local.get $2 local.get $2 call $"~lib/map/Map#set" @@ -16164,23 +16473,23 @@ local.get $5 i32.store offset=4 local.get $5 - local.get $7 + local.get $6 i32.const 20 i32.sub - local.tee $7 - local.get $7 + local.tee $6 + local.get $6 call $"~lib/map/Map#set" - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 - local.get $6 + local.get $4 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -17144,7 +17453,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1331" + block $"__inlined_func$~lib/map/Map#find$1408" loop $while-continue|0 local.get $3 if @@ -17166,7 +17475,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1331" + br $"__inlined_func$~lib/map/Map#find$1408" end local.get $4 i32.const -2 @@ -17668,7 +17977,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -17708,15 +18016,15 @@ i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 local.get $1 - local.get $6 + local.get $5 i32.store local.get $1 - local.get $6 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 @@ -17729,15 +18037,15 @@ i32.store offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=8 local.get $1 - local.get $6 + local.get $5 i32.store offset=8 local.get $1 - local.get $6 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 @@ -17746,6 +18054,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -17944,168 +18264,188 @@ unreachable end global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - block $"__inlined_func$~lib/map/Map#keys$27" (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 25 - call $~lib/rt/itcms/__new - local.tee $10 - i32.store - local.get $5 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl - local.tee $6 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $10 - local.get $7 - i32.store - local.get $10 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $7 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 25 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store offset=12 + local.get $7 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $7 + local.get $7 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $9 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $8 + local.get $4 + i32.store + local.get $8 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + loop $for-loop|00 + local.get $3 + local.get $7 + i32.lt_s + if local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $3 + i32.const 4 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - loop $for-loop|01 - local.get $3 - local.get $5 - i32.lt_s - if - local.get $8 - local.get $3 - i32.const 4 - i32.shl - i32.add - local.tee $6 - i32.load offset=12 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - local.get $0 - local.get $6 - i64.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|01 - end + local.tee $4 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + local.get $8 + local.get $0 + local.get $4 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - br $"__inlined_func$~lib/map/Map#keys$27" + local.set $3 + br $for-loop|00 end - br $folding-inner1 end - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + local.get $8 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 @@ -18113,7 +18453,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 call $"~lib/map/Map#values" - local.tee $3 + local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -18134,71 +18474,85 @@ i32.const 24 i32.const 26 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $4 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=8 - local.get $6 - local.get $7 + local.get $4 + local.get $5 i32.store - local.get $6 - local.get $7 + local.get $4 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 - local.get $6 + local.get $4 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=8 - local.get $6 - local.get $7 + local.get $4 + local.get $5 i32.store offset=8 - local.get $6 - local.get $7 + local.get $4 + local.get $5 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 - local.get $6 + local.get $4 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" local.tee $5 i32.store offset=20 + i32.const 0 + local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store offset=4 - local.get $0 + local.get $8 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -18212,10 +18566,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store - local.get $4 - local.get $0 + local.get $3 + local.get $8 i32.load offset=12 i32.ge_u if @@ -18227,11 +18581,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store - local.get $0 + local.get $8 i32.load offset=4 - local.get $4 + local.get $3 i32.const 3 i32.shl i32.add @@ -18242,12 +18596,12 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=4 + local.get $0 local.get $3 - local.get $4 call $~lib/array/Array#__get - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 @@ -18267,7 +18621,7 @@ local.get $1 i32.store offset=4 local.get $1 - local.get $7 + local.get $6 i32.const 20 i32.sub i64.extend_i32_s @@ -18282,9 +18636,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 - local.get $6 + local.get $4 local.get $2 local.get $2 call $"~lib/map/Map#set" @@ -18292,23 +18646,23 @@ local.get $5 i32.store offset=4 local.get $5 - local.get $7 + local.get $6 i32.const 20 i32.sub - local.tee $7 - local.get $7 + local.tee $6 + local.get $6 call $"~lib/map/Map#set" - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 - local.get $6 + local.get $4 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -19134,8 +19488,8 @@ (func $"~lib/map/Map#keys" (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 f32) - (local $4 i32) + (local $3 i32) + (local $4 f32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -19143,11 +19497,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -19156,14 +19510,14 @@ i32.store local.get $0 i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer + local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=16 - local.set $6 + local.set $5 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -19171,7 +19525,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -19182,9 +19536,36 @@ i32.const 16 i32.const 28 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 i32.store local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 i32.const 268435455 i32.gt_u if @@ -19197,8 +19578,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 + local.get $5 + local.get $5 i32.const 8 i32.le_u select @@ -19206,54 +19587,52 @@ i32.shl local.tee $0 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 + call $~lib/rt/itcms/__new + local.tee $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $7 i32.store offset=12 - local.get $2 + local.get $6 local.get $7 i32.store - local.get $2 + local.get $6 local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store offset=4 - i32.const 0 - local.set $0 loop $for-loop|0 + local.get $2 local.get $5 - local.get $6 i32.lt_s if - local.get $4 - local.get $5 + local.get $3 + local.get $2 i32.const 12 i32.mul i32.add @@ -19264,16 +19643,16 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.add - local.set $0 + local.set $1 local.get $7 f32.load - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19281,19 +19660,19 @@ global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $1 - local.get $2 + local.get $0 + local.get $6 i32.load offset=12 i32.ge_u if - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -19304,8 +19683,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.add local.tee $7 @@ -19313,46 +19692,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 + local.get $6 local.get $7 i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 + local.get $6 i32.load offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add - local.get $3 + local.get $4 f32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $5 + local.get $2 i32.const 1 i32.add - local.set $5 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 - local.get $0 + local.get $6 + local.get $1 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 return end i32.const 34688 @@ -19963,6 +20342,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -20240,6 +20631,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -21251,8 +21654,8 @@ (func $"~lib/map/Map#keys" (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 f64) - (local $4 i32) + (local $3 i32) + (local $4 f64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -21260,11 +21663,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -21273,14 +21676,14 @@ i32.store local.get $0 i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer + local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=16 - local.set $6 + local.set $5 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -21288,7 +21691,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -21299,9 +21702,36 @@ i32.const 16 i32.const 31 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 i32.const 134217727 i32.gt_u if @@ -21314,8 +21744,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 + local.get $5 + local.get $5 i32.const 8 i32.le_u select @@ -21325,52 +21755,50 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $7 i32.store offset=12 - local.get $2 + local.get $6 local.get $7 i32.store - local.get $2 + local.get $6 local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store offset=4 - i32.const 0 - local.set $0 loop $for-loop|0 + local.get $2 local.get $5 - local.get $6 i32.lt_s if - local.get $4 - local.get $5 + local.get $3 + local.get $2 i32.const 4 i32.shl i32.add @@ -21381,16 +21809,16 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.add - local.set $0 + local.set $1 local.get $7 f64.load - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21398,19 +21826,19 @@ global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $1 - local.get $2 + local.get $0 + local.get $6 i32.load offset=12 i32.ge_u if - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -21421,8 +21849,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.add local.tee $7 @@ -21430,46 +21858,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 + local.get $6 local.get $7 i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 + local.get $6 i32.load offset=4 - local.get $1 + local.get $0 i32.const 3 i32.shl i32.add - local.get $3 + local.get $4 f64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $5 + local.get $2 i32.const 1 i32.add - local.set $5 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 - local.get $0 + local.get $6 + local.get $1 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 return end i32.const 34688 @@ -21579,7 +22007,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1342" + block $"__inlined_func$~lib/map/Map#find$1418" loop $while-continue|0 local.get $3 if @@ -21601,7 +22029,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1342" + br $"__inlined_func$~lib/map/Map#find$1418" end local.get $4 i32.const -2 @@ -22183,6 +22611,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -22460,6 +22900,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/math.release.wat b/tests/compiler/std/math.release.wat index 8dc86c5333..95186d3ef8 100644 --- a/tests/compiler/std/math.release.wat +++ b/tests/compiler/std/math.release.wat @@ -49889,7 +49889,7 @@ call $~lib/builtins/abort unreachable end - f64.const -nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -49933,7 +49933,7 @@ call $~lib/builtins/abort unreachable end - f64.const -nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -49955,7 +49955,7 @@ call $~lib/builtins/abort unreachable end - f64.const -nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -50021,7 +50021,7 @@ call $~lib/builtins/abort unreachable end - f64.const -nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -50087,7 +50087,7 @@ call $~lib/builtins/abort unreachable end - f64.const -nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -50153,7 +50153,7 @@ call $~lib/builtins/abort unreachable end - f64.const -nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -50241,7 +50241,7 @@ call $~lib/builtins/abort unreachable end - f64.const -nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -50351,7 +50351,7 @@ call $~lib/builtins/abort unreachable end - f64.const -nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -50505,7 +50505,7 @@ call $~lib/builtins/abort unreachable end - f64.const -nan:0x8000000000000 + f64.const nan:0x8000000000000 f64.const nan:0x8000000000000 f64.const 0 call $std/math/check @@ -51737,7 +51737,7 @@ call $~lib/builtins/abort unreachable end - f32.const -nan:0x400000 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -51763,7 +51763,7 @@ call $~lib/builtins/abort unreachable end - f32.const -nan:0x400000 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -51776,7 +51776,7 @@ call $~lib/builtins/abort unreachable end - f32.const -nan:0x400000 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -51815,7 +51815,7 @@ call $~lib/builtins/abort unreachable end - f32.const -nan:0x400000 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -51854,7 +51854,7 @@ call $~lib/builtins/abort unreachable end - f32.const -nan:0x400000 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -51893,7 +51893,7 @@ call $~lib/builtins/abort unreachable end - f32.const -nan:0x400000 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -51945,7 +51945,7 @@ call $~lib/builtins/abort unreachable end - f32.const -nan:0x400000 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -52010,7 +52010,7 @@ call $~lib/builtins/abort unreachable end - f32.const -nan:0x400000 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 call $std/math/check @@ -52036,7 +52036,7 @@ call $~lib/builtins/abort unreachable end - f32.const -nan:0x400000 + f32.const nan:0x400000 f32.const nan:0x400000 f32.const 0 call $std/math/check diff --git a/tests/compiler/std/set.debug.wat b/tests/compiler/std/set.debug.wat index ab082ec36f..b643b683f8 100644 --- a/tests/compiler/std/set.debug.wat +++ b/tests/compiler/std/set.debug.wat @@ -2364,6 +2364,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2475,16 +2485,6 @@ local.get $taggedNext i32.store offset=4 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2603,6 +2603,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2715,16 +2725,6 @@ local.get $taggedNext i32.store offset=4 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2785,6 +2785,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2896,16 +2906,6 @@ local.get $taggedNext i32.store offset=4 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2966,6 +2966,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3078,16 +3088,6 @@ local.get $taggedNext i32.store offset=4 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3148,6 +3148,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3258,16 +3268,6 @@ local.get $taggedNext i32.store offset=4 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3328,6 +3328,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3438,16 +3448,6 @@ local.get $taggedNext i32.store offset=4 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3508,6 +3508,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) (local $h i32) @@ -3635,16 +3645,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3705,6 +3705,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) (local $h i32) @@ -3832,16 +3842,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3902,6 +3902,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key f32) (result i32) (local $key|1 i32) (local $len i32) @@ -4013,16 +4023,6 @@ local.get $taggedNext i32.store offset=4 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4083,6 +4083,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key f64) (result i32) (local $key|1 i64) (local $h i32) @@ -4211,16 +4221,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4795,6 +4795,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -5344,6 +5360,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 0 @@ -5373,7 +5421,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -5382,7 +5430,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -5395,7 +5443,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -5403,7 +5451,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -5411,7 +5459,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -6593,8 +6641,24 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 4 - call $~lib/set/Set#set:entriesCapacity + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -7149,6 +7213,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 0 @@ -7178,7 +7274,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -7187,7 +7283,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -7200,7 +7296,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -7208,7 +7304,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -7216,7 +7312,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -8284,6 +8380,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -8833,6 +8945,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 1 @@ -8862,7 +9006,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -8871,7 +9015,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -8884,7 +9028,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -8892,7 +9036,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -8900,7 +9044,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -9968,6 +10112,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -10519,6 +10679,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 1 @@ -10548,7 +10740,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10557,7 +10749,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -10570,7 +10762,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -10578,7 +10770,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -10586,7 +10778,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -11654,6 +11846,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12201,6 +12409,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -12230,7 +12470,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -12239,7 +12479,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -12252,7 +12492,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -12260,7 +12500,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -12268,7 +12508,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -13336,6 +13576,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -13883,6 +14139,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -13912,7 +14200,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -13921,7 +14209,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -13934,7 +14222,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -13942,7 +14230,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -13950,7 +14238,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -15018,6 +15306,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -15565,6 +15869,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -15594,7 +15930,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -15603,7 +15939,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -15616,7 +15952,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -15624,7 +15960,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -15632,7 +15968,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -16701,6 +17037,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -17248,6 +17600,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -17277,7 +17661,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -17286,7 +17670,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -17299,7 +17683,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -17307,7 +17691,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -17315,7 +17699,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -18384,6 +18768,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -18931,6 +19331,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -18960,7 +19392,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -18969,7 +19401,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -18982,7 +19414,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -18990,7 +19422,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -18998,7 +19430,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -20067,6 +20499,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -20614,6 +21062,38 @@ local.tee $this i32.store end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -20643,7 +21123,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -20652,7 +21132,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 @@ -20665,7 +21145,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -20673,7 +21153,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -20681,7 +21161,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ diff --git a/tests/compiler/std/set.release.wat b/tests/compiler/std/set.release.wat index 2574d56619..2a2f9d8ff2 100644 --- a/tests/compiler/std/set.release.wat +++ b/tests/compiler/std/set.release.wat @@ -125,7 +125,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$846 + block $__inlined_func$~lib/rt/itcms/Object#unlink$904 local.get $0 i32.load offset=4 i32.const -4 @@ -149,7 +149,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$846 + br $__inlined_func$~lib/rt/itcms/Object#unlink$904 end local.get $0 i32.load offset=8 @@ -1840,6 +1840,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -2458,7 +2470,7 @@ select local.set $1 end - block $__inlined_func$~lib/rt/itcms/__renew$833 + block $__inlined_func$~lib/rt/itcms/__renew$893 local.get $4 i32.const 20 i32.sub @@ -2476,7 +2488,7 @@ i32.store offset=16 local.get $4 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew$833 + br $__inlined_func$~lib/rt/itcms/__renew$893 end local.get $1 local.get $3 @@ -2921,7 +2933,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -3067,224 +3078,246 @@ unreachable end global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $5 + local.get $5 + i32.const 8 + i32.le_u + select + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $6 + local.get $7 + i32.store + local.get $6 + local.get $7 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store offset=4 + local.get $6 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $7 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $0 + local.get $7 + i32.load8_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/set/Set#values$2 (result i32) + call $~lib/set/Set#constructor + local.tee $0 + i32.store offset=12 + i32.const 0 + local.set $2 + loop $for-loop|2 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $6 + i32.store offset=4 + local.get $6 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if global.get $~lib/memory/__stack_pointer local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer + i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store - local.get $3 - i32.const 1073741820 - i32.gt_u + local.get $6 + local.get $2 + call $~lib/array/Array#__get + call $~lib/set/Set#has + i32.eqz if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 + i32.const 0 + i32.const 1568 + i32.const 24 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $3 - local.get $3 - i32.const 8 - i32.le_u - select - local.tee $8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $7 - local.get $0 - i32.store - local.get $7 - local.get $0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $5 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.tee $6 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $6 - i32.load8_s - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - br $__inlined_func$~lib/set/Set#values$2 - end - br $folding-inner1 - end - local.tee $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $2 - i32.store offset=12 - loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/array/Array#get:length - local.get $4 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=16 - local.get $1 - local.get $0 - local.get $4 - call $~lib/array/Array#__get - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 24 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=16 + local.get $6 local.get $2 - local.get $0 - local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 - local.get $2 + local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -3554,6 +3587,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -4184,7 +4229,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -4330,224 +4374,246 @@ unreachable end global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/set/Set#values$3 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store - local.get $3 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $3 - local.get $3 - i32.const 8 - i32.le_u - select - local.tee $8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $7 - local.get $0 - i32.store - local.get $7 - local.get $0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $5 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.tee $6 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $6 - i32.load8_u - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - br $__inlined_func$~lib/set/Set#values$3 - end - br $folding-inner1 - end - local.tee $0 - i32.store offset=8 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $2 - i32.store offset=12 - loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/array/Array#get:length - local.get $4 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $1 - local.get $0 - local.get $4 - call $~lib/array/Array#__get - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 24 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $2 - local.get $0 - local.get $4 - call $~lib/array/Array#__get - call $~lib/set/Set#add - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|2 - end + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + i32.const 8 + local.get $5 + local.get $5 + i32.const 8 + i32.le_u + select + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store offset=4 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $6 + local.get $7 + i32.store + local.get $6 + local.get $7 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $7 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $0 + local.get $7 + i32.load8_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $0 + i32.store offset=12 + i32.const 0 + local.set $2 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $1 + local.get $6 + local.get $2 + call $~lib/array/Array#__get + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 24 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $0 + local.get $6 + local.get $2 + call $~lib/array/Array#__get + call $~lib/set/Set#add + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|2 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -4817,6 +4883,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -5627,7 +5705,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -5773,193 +5850,215 @@ unreachable end global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/set/Set#values$4 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 9 - call $~lib/rt/itcms/__new + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 + i32.const 536870910 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $5 + local.get $5 + i32.const 8 + i32.le_u + select + i32.const 1 + i32.shl + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $6 + local.get $7 + i32.store + local.get $6 + local.get $7 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $2 + i32.const 3 + i32.shl + i32.add local.tee $7 - i32.store - local.get $3 - i32.const 536870910 - i32.gt_u + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $0 + local.get $7 + i32.load16_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $3 - local.get $3 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $8 + local.get $2 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $7 - local.get $0 - i32.store - local.get $7 - local.get $0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $5 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.tee $6 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $6 - i32.load16_s - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - br $__inlined_func$~lib/set/Set#values$4 + local.set $2 + br $for-loop|00 end - br $folding-inner1 end - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $2 + local.tee $0 i32.store offset=12 + i32.const 0 + local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=4 - local.get $0 + local.get $6 call $~lib/array/Array#get:length - local.get $4 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=16 local.get $1 - local.get $0 - local.get $4 + local.get $6 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -5972,27 +6071,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=16 - local.get $2 local.get $0 - local.get $4 + local.get $6 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 - local.get $2 + local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -6262,6 +6361,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -6894,7 +7005,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -7026,207 +7136,229 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=4 + local.get $1 + call $~lib/set/Set#get:size + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store local.get $1 - call $~lib/set/Set#get:size - i32.const 100 - i32.ne + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 + i32.const 536870910 + i32.gt_u if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 3 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 8 + local.get $5 + local.get $5 + i32.const 8 + i32.le_u + select + i32.const 1 + i32.shl + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/set/Set#values$5 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new + local.get $7 + i32.store offset=12 + local.get $6 + local.get $7 + i32.store + local.get $6 + local.get $7 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $2 + i32.const 3 + i32.shl + i32.add local.tee $7 - i32.store - local.get $3 - i32.const 536870910 - i32.gt_u + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $0 + local.get $7 + i32.load16_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $3 - local.get $3 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $8 + local.get $2 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $7 - local.get $0 - i32.store - local.get $7 - local.get $0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $5 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.tee $6 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $6 - i32.load16_u - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - br $__inlined_func$~lib/set/Set#values$5 + local.set $2 + br $for-loop|00 end - br $folding-inner1 end - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $2 + local.tee $0 i32.store offset=12 + i32.const 0 + local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=4 - local.get $0 + local.get $6 call $~lib/array/Array#get:length - local.get $4 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=16 local.get $1 - local.get $0 - local.get $4 + local.get $6 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -7239,27 +7371,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=16 - local.get $2 local.get $0 - local.get $4 + local.get $6 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 - local.get $2 + local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -7529,6 +7661,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -8334,7 +8478,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -8480,193 +8623,215 @@ unreachable end global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/set/Set#values$6 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store - local.get $3 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $3 - local.get $3 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $7 - local.get $0 - i32.store - local.get $7 - local.get $0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $5 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.tee $6 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $6 - i32.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|00 - end + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 + i32.const 268435455 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $5 + local.get $5 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $6 + local.get $7 + i32.store + local.get $6 + local.get $7 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $7 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $0 + local.get $7 + i32.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $2 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - br $__inlined_func$~lib/set/Set#values$6 + local.set $2 + br $for-loop|00 end - br $folding-inner1 end - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $2 + local.tee $0 i32.store offset=12 + i32.const 0 + local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=4 - local.get $0 + local.get $6 call $~lib/array/Array#get:length - local.get $4 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=16 local.get $1 - local.get $0 - local.get $4 + local.get $6 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -8679,27 +8844,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=16 - local.get $2 local.get $0 - local.get $4 + local.get $6 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 - local.get $2 + local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -8969,6 +9134,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -9669,7 +9846,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -9815,193 +9991,215 @@ unreachable end global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/set/Set#values$7 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 15 - call $~lib/rt/itcms/__new + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 + i32.const 268435455 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $5 + local.get $5 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $6 + local.get $7 + i32.store + local.get $6 + local.get $7 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $2 + i32.const 3 + i32.shl + i32.add local.tee $7 - i32.store - local.get $3 - i32.const 268435455 - i32.gt_u + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $0 + local.get $7 + i32.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $3 - local.get $3 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $8 + local.get $2 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $7 - local.get $0 - i32.store - local.get $7 - local.get $0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $5 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.tee $6 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $6 - i32.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - br $__inlined_func$~lib/set/Set#values$7 + local.set $2 + br $for-loop|00 end - br $folding-inner1 end - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $2 + local.tee $0 i32.store offset=12 + i32.const 0 + local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=4 - local.get $0 + local.get $6 call $~lib/array/Array#get:length - local.get $4 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=16 local.get $1 - local.get $0 - local.get $4 + local.get $6 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -10014,27 +10212,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 i32.store offset=16 - local.get $2 local.get $0 - local.get $4 + local.get $6 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 - local.get $2 + local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -10304,6 +10502,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -11241,7 +11451,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -11387,191 +11596,213 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 17 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store offset=12 + local.get $6 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $6 + local.get $6 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $9 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $8 + local.get $7 + i32.store + local.get $8 + local.get $7 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/set/Set#values$12 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 17 - call $~lib/rt/itcms/__new - local.tee $10 - i32.store - local.get $4 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $4 - local.get $4 - i32.const 8 - i32.le_u - select - i32.const 3 + local.get $8 + i32.store offset=4 + local.get $8 + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + loop $for-loop|00 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $5 + local.get $3 + i32.const 4 i32.shl + i32.add local.tee $7 + i32.load offset=8 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $10 - local.get $8 - i32.store - local.get $10 - local.get $8 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $4 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - loop $for-loop|00 - local.get $3 - local.get $4 - i32.lt_s - if - local.get $6 - local.get $3 - i32.const 4 - i32.shl - i32.add - local.tee $7 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - local.get $0 - local.get $7 - i64.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|00 - end + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + local.get $8 + local.get $0 + local.get $7 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - br $__inlined_func$~lib/set/Set#values$12 + local.set $3 + br $for-loop|00 end - br $folding-inner1 end - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + local.get $8 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 + local.tee $0 i32.store offset=12 + i32.const 0 + local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store offset=4 - local.get $0 + local.get $8 call $~lib/array/Array#get:length - local.get $5 + local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store offset=16 local.get $1 - local.get $0 - local.get $5 + local.get $8 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -11584,27 +11815,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store offset=16 - local.get $3 local.get $0 - local.get $5 + local.get $8 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=4 - local.get $3 + local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -11874,6 +12105,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12627,7 +12870,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -12758,206 +13000,228 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/set/Set#get:size + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 19 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store offset=4 - local.get $1 - call $~lib/set/Set#get:size - i32.const 100 - i32.ne + local.get $8 + i32.const 0 + i32.store + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store offset=12 + local.get $6 + i32.const 134217727 + i32.gt_u if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 3 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 8 + local.get $6 + local.get $6 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $9 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/set/Set#values$17 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 19 - call $~lib/rt/itcms/__new - local.tee $10 - i32.store - local.get $4 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $4 - local.get $4 - i32.const 8 - i32.le_u - select - i32.const 3 + local.get $7 + i32.store offset=12 + local.get $8 + local.get $7 + i32.store + local.get $8 + local.get $7 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + loop $for-loop|00 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $5 + local.get $3 + i32.const 4 i32.shl + i32.add local.tee $7 + i32.load offset=8 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $10 - local.get $8 - i32.store - local.get $10 - local.get $8 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $4 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - loop $for-loop|00 - local.get $3 - local.get $4 - i32.lt_s - if - local.get $6 - local.get $3 - i32.const 4 - i32.shl - i32.add - local.tee $7 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - local.get $0 - local.get $7 - i64.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|00 - end + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + local.get $8 + local.get $0 + local.get $7 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - br $__inlined_func$~lib/set/Set#values$17 + local.set $3 + br $for-loop|00 end - br $folding-inner1 end - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + local.get $8 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 + local.tee $0 i32.store offset=12 + i32.const 0 + local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store offset=4 - local.get $0 + local.get $8 call $~lib/array/Array#get:length - local.get $5 + local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store offset=16 local.get $1 - local.get $0 - local.get $5 + local.get $8 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -12970,27 +13234,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $8 i32.store offset=16 - local.get $3 local.get $0 - local.get $5 + local.get $8 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 + local.set $3 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store offset=4 - local.get $3 + local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -13260,6 +13524,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -13773,8 +14049,8 @@ (func $~lib/set/Set#values (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 f32) - (local $4 i32) + (local $3 i32) + (local $4 f32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -13782,11 +14058,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -13795,14 +14071,14 @@ i32.store local.get $0 i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer + local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=16 - local.set $6 + local.set $5 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -13810,7 +14086,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -13821,9 +14097,36 @@ i32.const 16 i32.const 21 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 i32.const 268435455 i32.gt_u if @@ -13836,8 +14139,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 + local.get $5 + local.get $5 i32.const 8 i32.le_u select @@ -13847,52 +14150,50 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $7 i32.store offset=12 - local.get $2 + local.get $6 local.get $7 i32.store - local.get $2 + local.get $6 local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store offset=4 - i32.const 0 - local.set $0 loop $for-loop|0 + local.get $2 local.get $5 - local.get $6 i32.lt_s if - local.get $4 - local.get $5 + local.get $3 + local.get $2 i32.const 3 i32.shl i32.add @@ -13903,16 +14204,16 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.add - local.set $0 + local.set $1 local.get $7 f32.load - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13920,19 +14221,19 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $1 - local.get $2 + local.get $0 + local.get $6 i32.load offset=12 i32.ge_u if - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -13943,8 +14244,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.add local.tee $7 @@ -13952,46 +14253,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 + local.get $6 local.get $7 i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 + local.get $6 i32.load offset=4 - local.get $1 + local.get $0 i32.const 2 i32.shl i32.add - local.get $3 + local.get $4 f32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $5 + local.get $2 i32.const 1 i32.add - local.set $5 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 - local.get $0 + local.get $6 + local.get $1 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 return end i32.const 34544 @@ -14669,6 +14970,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -15224,8 +15537,8 @@ (func $~lib/set/Set#values (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 f64) - (local $4 i32) + (local $3 i32) + (local $4 f64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -15233,11 +15546,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -15246,14 +15559,14 @@ i32.store local.get $0 i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer + local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=16 - local.set $6 + local.set $5 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -15261,7 +15574,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -15272,9 +15585,36 @@ i32.const 16 i32.const 23 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $6 i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 i32.const 134217727 i32.gt_u if @@ -15287,8 +15627,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 + local.get $5 + local.get $5 i32.const 8 i32.le_u select @@ -15298,52 +15638,50 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $7 i32.store offset=12 - local.get $2 + local.get $6 local.get $7 i32.store - local.get $2 + local.get $6 local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store offset=4 - i32.const 0 - local.set $0 loop $for-loop|0 + local.get $2 local.get $5 - local.get $6 i32.lt_s if - local.get $4 - local.get $5 + local.get $3 + local.get $2 i32.const 4 i32.shl i32.add @@ -15354,16 +15692,16 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $0 - local.tee $1 + local.get $1 + local.tee $0 i32.const 1 i32.add - local.set $0 + local.set $1 local.get $7 f64.load - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15371,19 +15709,19 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $1 - local.get $2 + local.get $0 + local.get $6 i32.load offset=12 i32.ge_u if - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -15394,8 +15732,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.add local.tee $7 @@ -15403,46 +15741,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 + local.get $6 local.get $7 i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 + local.get $6 i32.load offset=4 - local.get $1 + local.get $0 i32.const 3 i32.shl i32.add - local.get $3 + local.get $4 f64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $5 + local.get $2 i32.const 1 i32.add - local.set $5 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $6 i32.store - local.get $2 - local.get $0 + local.get $6 + local.get $1 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 return end i32.const 34544 diff --git a/tests/compiler/std/symbol.debug.wat b/tests/compiler/std/symbol.debug.wat index b58e13f02a..9baedf249c 100644 --- a/tests/compiler/std/symbol.debug.wat +++ b/tests/compiler/std/symbol.debug.wat @@ -2400,6 +2400,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this i32.load offset=16 @@ -2568,16 +2578,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -2606,6 +2606,16 @@ local.get $entriesCapacity i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2725,16 +2735,6 @@ local.get $taggedNext i32.store offset=8 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) global.get $~lib/symbol/stringToId @@ -2960,6 +2960,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map<~lib/string/String,usize>#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -4050,6 +4066,22 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesOffset" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $"~lib/map/Map#set:entriesCount" + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/symbol.release.wat b/tests/compiler/std/symbol.release.wat index 699d8a0915..39b4ead273 100644 --- a/tests/compiler/std/symbol.release.wat +++ b/tests/compiler/std/symbol.release.wat @@ -206,7 +206,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$242 + block $__inlined_func$~lib/rt/itcms/Object#unlink$246 local.get $0 i32.load offset=4 i32.const -4 @@ -230,7 +230,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$242 + br $__inlined_func$~lib/rt/itcms/Object#unlink$246 end local.get $0 i32.load offset=8 @@ -2193,7 +2193,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$86 + block $__inlined_func$~lib/util/string/compareImpl$88 loop $while-continue|1 local.get $0 local.tee $3 @@ -2213,7 +2213,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$86 + br_if $__inlined_func$~lib/util/string/compareImpl$88 local.get $2 i32.const 2 i32.add @@ -3511,7 +3511,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$249 + block $__inlined_func$~lib/string/String#concat$253 local.get $1 i32.const 20 i32.sub @@ -3530,7 +3530,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1888 local.set $0 - br $__inlined_func$~lib/string/String#concat$249 + br $__inlined_func$~lib/string/String#concat$253 end global.get $~lib/memory/__stack_pointer local.get $0 @@ -3884,6 +3884,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -3954,6 +3966,18 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 3a9a3dfbd7..9b7671a355 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -14505,6 +14505,30 @@ local.tee $this i32.store end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -14526,7 +14550,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=4 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -14535,7 +14559,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 @@ -14548,7 +14572,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -14556,7 +14580,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index bfe977ef96..8dd3afe263 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -766,7 +766,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$1400 + block $__inlined_func$~lib/rt/itcms/Object#unlink$1403 local.get $0 i32.load offset=4 i32.const -4 @@ -790,7 +790,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$1400 + br $__inlined_func$~lib/rt/itcms/Object#unlink$1403 end local.get $0 i32.load offset=8 @@ -9445,6 +9445,27 @@ local.tee $0 i32.store end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 local.get $1 i32.const 1073741820 local.get $2 @@ -9466,10 +9487,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 @@ -9481,13 +9502,13 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 local.get $1 i32.store offset=8 @@ -12321,7 +12342,7 @@ i32.lt_s select local.set $0 - block $__inlined_func$~lib/util/bytes/FILL$199 + block $__inlined_func$~lib/util/bytes/FILL$202 local.get $1 i32.eqz local.get $1 @@ -12346,7 +12367,7 @@ i32.shl memory.fill end - br $__inlined_func$~lib/util/bytes/FILL$199 + br $__inlined_func$~lib/util/bytes/FILL$202 end loop $for-loop|0 local.get $0 @@ -35285,7 +35306,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1405 + block $__inlined_func$~lib/util/string/joinIntegerArray$1408 local.get $0 i32.const 1 i32.sub @@ -35299,7 +35320,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1405 + br $__inlined_func$~lib/util/string/joinIntegerArray$1408 end local.get $6 i32.eqz @@ -35312,7 +35333,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1405 + br $__inlined_func$~lib/util/string/joinIntegerArray$1408 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -35405,7 +35426,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1405 + br $__inlined_func$~lib/util/string/joinIntegerArray$1408 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -35539,7 +35560,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$711 + block $__inlined_func$~lib/util/string/compareImpl$714 loop $while-continue|1 local.get $0 local.tee $3 @@ -35559,7 +35580,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$711 + br_if $__inlined_func$~lib/util/string/compareImpl$714 local.get $2 i32.const 2 i32.add @@ -35633,7 +35654,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1406 + block $__inlined_func$~lib/util/string/joinIntegerArray$1409 local.get $0 i32.const 1 i32.sub @@ -35647,7 +35668,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1406 + br $__inlined_func$~lib/util/string/joinIntegerArray$1409 end local.get $6 i32.eqz @@ -35660,7 +35681,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1406 + br $__inlined_func$~lib/util/string/joinIntegerArray$1409 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -35753,7 +35774,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1406 + br $__inlined_func$~lib/util/string/joinIntegerArray$1409 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -35848,7 +35869,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1407 + block $__inlined_func$~lib/util/string/joinIntegerArray$1410 local.get $0 i32.const 1 i32.sub @@ -35862,7 +35883,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1407 + br $__inlined_func$~lib/util/string/joinIntegerArray$1410 end local.get $6 i32.eqz @@ -35875,7 +35896,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1407 + br $__inlined_func$~lib/util/string/joinIntegerArray$1410 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -35972,7 +35993,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1407 + br $__inlined_func$~lib/util/string/joinIntegerArray$1410 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -36038,7 +36059,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1408 + block $__inlined_func$~lib/util/string/joinIntegerArray$1411 local.get $0 i32.const 1 i32.sub @@ -36052,7 +36073,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1408 + br $__inlined_func$~lib/util/string/joinIntegerArray$1411 end local.get $6 i32.eqz @@ -36065,7 +36086,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1408 + br $__inlined_func$~lib/util/string/joinIntegerArray$1411 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -36162,7 +36183,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1408 + br $__inlined_func$~lib/util/string/joinIntegerArray$1411 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -36228,7 +36249,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1409 + block $__inlined_func$~lib/util/string/joinIntegerArray$1412 local.get $0 i32.const 1 i32.sub @@ -36242,7 +36263,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1409 + br $__inlined_func$~lib/util/string/joinIntegerArray$1412 end local.get $6 i32.eqz @@ -36255,7 +36276,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1409 + br $__inlined_func$~lib/util/string/joinIntegerArray$1412 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -36352,7 +36373,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1409 + br $__inlined_func$~lib/util/string/joinIntegerArray$1412 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -36418,7 +36439,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1410 + block $__inlined_func$~lib/util/string/joinIntegerArray$1413 local.get $0 i32.const 1 i32.sub @@ -36432,7 +36453,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1410 + br $__inlined_func$~lib/util/string/joinIntegerArray$1413 end local.get $6 i32.eqz @@ -36445,7 +36466,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1410 + br $__inlined_func$~lib/util/string/joinIntegerArray$1413 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -36542,7 +36563,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1410 + br $__inlined_func$~lib/util/string/joinIntegerArray$1413 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -36987,7 +37008,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $__inlined_func$~lib/util/number/utoa64$746 + block $__inlined_func$~lib/util/number/utoa64$749 local.get $3 i64.eqz if @@ -36997,7 +37018,7 @@ global.set $~lib/memory/__stack_pointer i32.const 8000 local.set $1 - br $__inlined_func$~lib/util/number/utoa64$746 + br $__inlined_func$~lib/util/number/utoa64$749 end local.get $3 i64.const 4294967295 diff --git a/tests/compiler/switch.debug.wat b/tests/compiler/switch.debug.wat index 5f36ae38e5..29504e6521 100644 --- a/tests/compiler/switch.debug.wat +++ b/tests/compiler/switch.debug.wat @@ -3301,6 +3301,14 @@ local.get $2 i32.store offset=4 local.get $2 + i32.const 0 + call $switch/FooClass#set:value + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 local.get $value call $switch/FooClass#set:value local.get $this @@ -3460,6 +3468,14 @@ local.get $2 i32.store offset=4 local.get $2 + i32.const 0 + call $switch/BarClass#set:value + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 local.get $value call $switch/BarClass#set:value local.get $this diff --git a/tests/compiler/switch.release.wat b/tests/compiler/switch.release.wat index ed02a77d96..95b2826eb3 100644 --- a/tests/compiler/switch.release.wat +++ b/tests/compiler/switch.release.wat @@ -160,7 +160,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$184 + block $__inlined_func$~lib/rt/itcms/Object#unlink$186 local.get $1 i32.load offset=4 i32.const -4 @@ -184,7 +184,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$184 + br $__inlined_func$~lib/rt/itcms/Object#unlink$186 end local.get $1 i32.load offset=8 @@ -1884,7 +1884,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$189 + block $__inlined_func$~lib/string/String#concat$191 local.get $1 i32.const 20 i32.sub @@ -1903,7 +1903,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1296 local.set $0 - br $__inlined_func$~lib/string/String#concat$189 + br $__inlined_func$~lib/string/String#concat$191 end global.get $~lib/memory/__stack_pointer local.get $0 @@ -2061,6 +2061,12 @@ local.get $1 i32.store offset=4 local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -2214,6 +2220,12 @@ local.get $1 i32.store offset=4 local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer From 69d3d89d8b31858f9615ba9e673b1be79922c135 Mon Sep 17 00:00:00 2001 From: KKiiim Date: Sat, 4 Oct 2025 15:57:45 +0800 Subject: [PATCH 6/7] fix test --- tests/compiler/assignment-chain.debug.wat | 59 +- tests/compiler/assignment-chain.release.wat | 34 +- tests/compiler/bindings/esm.debug.wat | 365 +- tests/compiler/bindings/esm.release.wat | 1090 ++-- .../bindings/noExportRuntime.debug.wat | 32 +- .../bindings/noExportRuntime.release.wat | 143 +- tests/compiler/bindings/raw.debug.wat | 365 +- tests/compiler/bindings/raw.release.wat | 1090 ++-- tests/compiler/call-rest.debug.wat | 8 - tests/compiler/call-rest.release.wat | 17 +- tests/compiler/class.debug.wat | 42 +- tests/compiler/class.release.wat | 38 +- tests/compiler/constructor.debug.wat | 90 +- tests/compiler/constructor.release.wat | 30 +- tests/compiler/duplicate-fields.debug.wat | 92 - tests/compiler/duplicate-fields.release.wat | 58 +- .../compiler/extends-baseaggregate.debug.wat | 164 +- .../extends-baseaggregate.release.wat | 152 +- tests/compiler/extends-recursive.debug.wat | 89 +- tests/compiler/extends-recursive.release.wat | 56 +- tests/compiler/field-initialization.debug.wat | 264 +- .../compiler/field-initialization.release.wat | 120 +- tests/compiler/infer-generic.debug.wat | 8 - tests/compiler/infer-generic.release.wat | 10 +- tests/compiler/inlining.debug.wat | 16 - tests/compiler/inlining.release.wat | 415 +- tests/compiler/issues/1225.debug.wat | 16 - tests/compiler/issues/1225.release.wat | 16 +- tests/compiler/issues/1699.debug.wat | 42 +- tests/compiler/issues/1699.release.wat | 55 +- tests/compiler/issues/2322/index.debug.wat | 13 - tests/compiler/issues/2322/index.release.wat | 10 +- tests/compiler/object-literal.debug.wat | 361 +- tests/compiler/object-literal.release.wat | 300 +- tests/compiler/resolve-access.debug.wat | 8 - tests/compiler/resolve-access.release.wat | 10 +- .../compiler/resolve-elementaccess.debug.wat | 32 +- .../resolve-elementaccess.release.wat | 155 +- tests/compiler/return-unreachable.debug.wat | 42 +- tests/compiler/return-unreachable.release.wat | 147 +- tests/compiler/rt/issue-2719.debug.wat | 18 +- tests/compiler/rt/issue-2719.release.wat | 10 +- tests/compiler/std/array.debug.wat | 216 +- tests/compiler/std/array.release.wat | 4386 ++++++++-------- tests/compiler/std/arraybuffer.debug.wat | 56 +- tests/compiler/std/arraybuffer.release.wat | 54 +- tests/compiler/std/dataview.debug.wat | 56 +- tests/compiler/std/dataview.release.wat | 771 ++- tests/compiler/std/date.debug.wat | 24 - tests/compiler/std/date.release.wat | 54 +- tests/compiler/std/map.debug.wat | 1154 +--- tests/compiler/std/map.release.wat | 4626 ++++++++--------- tests/compiler/std/set.debug.wat | 828 +-- tests/compiler/std/set.release.wat | 3416 ++++++------ tests/compiler/std/symbol.debug.wat | 72 +- tests/compiler/std/symbol.release.wat | 36 +- tests/compiler/std/typedarray.debug.wat | 32 +- tests/compiler/std/typedarray.release.wat | 93 +- tests/compiler/switch.debug.wat | 16 - tests/compiler/switch.release.wat | 20 +- 60 files changed, 8448 insertions(+), 13544 deletions(-) diff --git a/tests/compiler/assignment-chain.debug.wat b/tests/compiler/assignment-chain.debug.wat index dc86b62eb1..51d22efd7d 100644 --- a/tests/compiler/assignment-chain.debug.wat +++ b/tests/compiler/assignment-chain.debug.wat @@ -2250,35 +2250,30 @@ local.get $ptr return ) + (func $assignment-chain/A#set:y (param $this i32) (param $y i64) + local.get $this + local.get $y + i64.store offset=8 + ) (func $assignment-chain/A#set:x (param $this i32) (param $x i64) local.get $this local.get $x i64.store ) - (func $assignment-chain/A#set:y (param $this i32) (param $y i64) + (func $assignment-chain/B#get:_setter_cnt (param $this i32) (result i32) local.get $this - local.get $y - i64.store offset=8 + i32.load ) (func $assignment-chain/B#set:_setter_cnt (param $this i32) (param $_setter_cnt i32) local.get $this local.get $_setter_cnt i32.store ) - (func $assignment-chain/B#set:_getter_cnt (param $this i32) (param $_getter_cnt i32) - local.get $this - local.get $_getter_cnt - i32.store offset=4 - ) (func $assignment-chain/B#set:_y (param $this i32) (param $_y f64) local.get $this local.get $_y f64.store offset=8 ) - (func $assignment-chain/B#get:_setter_cnt (param $this i32) (result i32) - local.get $this - i32.load - ) (func $assignment-chain/B#get:_getter_cnt (param $this i32) (result i32) local.get $this i32.load offset=4 @@ -2434,22 +2429,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $assignment-chain/A#set:x - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $assignment-chain/A#set:y - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2552,30 +2531,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $assignment-chain/B#set:_setter_cnt - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $assignment-chain/B#set:_getter_cnt - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $assignment-chain/B#set:_y - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/assignment-chain.release.wat b/tests/compiler/assignment-chain.release.wat index 2d02b94594..5ea2d108b0 100644 --- a/tests/compiler/assignment-chain.release.wat +++ b/tests/compiler/assignment-chain.release.wat @@ -122,7 +122,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$129 + block $__inlined_func$~lib/rt/itcms/Object#unlink$124 local.get $1 i32.load offset=4 i32.const -4 @@ -146,7 +146,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$129 + br $__inlined_func$~lib/rt/itcms/Object#unlink$124 end local.get $1 i32.load offset=8 @@ -1661,18 +1661,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1790,24 +1778,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - f64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/bindings/esm.debug.wat b/tests/compiler/bindings/esm.debug.wat index c5ae968aba..ed40bacabc 100644 --- a/tests/compiler/bindings/esm.debug.wat +++ b/tests/compiler/bindings/esm.debug.wat @@ -1,23 +1,20 @@ (module - (type $0 (func (param i32 i32))) - (type $1 (func (param i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) (type $2 (func (param i32 i32) (result i32))) (type $3 (func (param i32))) (type $4 (func)) (type $5 (func (param i32 i32 i32))) (type $6 (func (result i32))) (type $7 (func (param i32 i32 i32 i32))) - (type $8 (func (param i32 i64))) - (type $9 (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $10 (func (param f64) (result f64))) - (type $11 (func (param i64 i64) (result i64))) - (type $12 (func (result i64))) - (type $13 (func (param i32 i32 i64) (result i32))) - (type $14 (func (param i32 f32))) - (type $15 (func (param i32 f64))) - (type $16 (func (param i32 i32 i32) (result i32))) - (type $17 (func (param i32 i32 i64))) - (type $18 (func (param i32 i32) (result f32))) + (type $8 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $9 (func (param f64) (result f64))) + (type $10 (func (param i64 i64) (result i64))) + (type $11 (func (result i64))) + (type $12 (func (param i32 i32 i64) (result i32))) + (type $13 (func (param i32 i32 i32) (result i32))) + (type $14 (func (param i32 i32 i64))) + (type $15 (func (param i32 i32) (result f32))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "globalThis" (global $bindings/esm/immutableGlobal externref)) (import "env" "globalThis.globalThis" (global $bindings/esm/immutableGlobalNested externref)) @@ -2626,106 +2623,24 @@ local.get $this i32.load offset=4 ) + (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) + local.get $this + i32.load8_s + ) (func $bindings/esm/PlainObject#set:a (param $this i32) (param $a i32) local.get $this local.get $a i32.store8 ) + (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) + local.get $this + i32.load16_s offset=2 + ) (func $bindings/esm/PlainObject#set:b (param $this i32) (param $b i32) local.get $this local.get $b i32.store16 offset=2 ) - (func $bindings/esm/PlainObject#set:c (param $this i32) (param $c i32) - local.get $this - local.get $c - i32.store offset=4 - ) - (func $bindings/esm/PlainObject#set:d (param $this i32) (param $d i64) - local.get $this - local.get $d - i64.store offset=8 - ) - (func $bindings/esm/PlainObject#set:e (param $this i32) (param $e i32) - local.get $this - local.get $e - i32.store8 offset=16 - ) - (func $bindings/esm/PlainObject#set:f (param $this i32) (param $f i32) - local.get $this - local.get $f - i32.store16 offset=18 - ) - (func $bindings/esm/PlainObject#set:g (param $this i32) (param $g i32) - local.get $this - local.get $g - i32.store offset=20 - ) - (func $bindings/esm/PlainObject#set:h (param $this i32) (param $h i64) - local.get $this - local.get $h - i64.store offset=24 - ) - (func $bindings/esm/PlainObject#set:i (param $this i32) (param $i i32) - local.get $this - local.get $i - i32.store offset=32 - ) - (func $bindings/esm/PlainObject#set:j (param $this i32) (param $j i32) - local.get $this - local.get $j - i32.store offset=36 - ) - (func $bindings/esm/PlainObject#set:k (param $this i32) (param $k i32) - local.get $this - local.get $k - i32.store8 offset=40 - ) - (func $bindings/esm/PlainObject#set:l (param $this i32) (param $l f32) - local.get $this - local.get $l - f32.store offset=44 - ) - (func $bindings/esm/PlainObject#set:m (param $this i32) (param $m f64) - local.get $this - local.get $m - f64.store offset=48 - ) - (func $bindings/esm/PlainObject#set:n (param $this i32) (param $n i32) - local.get $this - local.get $n - i32.store offset=56 - local.get $this - local.get $n - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $bindings/esm/PlainObject#set:o (param $this i32) (param $o i32) - local.get $this - local.get $o - i32.store offset=60 - local.get $this - local.get $o - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $bindings/esm/PlainObject#set:p (param $this i32) (param $p i32) - local.get $this - local.get $p - i32.store offset=64 - local.get $this - local.get $p - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) - local.get $this - i32.load8_s - ) - (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) - local.get $this - i32.load16_s offset=2 - ) (func $bindings/esm/newInternref (result i32) i32.const 0 call $bindings/esm/NonPlainObject#constructor @@ -3399,30 +3314,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -3444,7 +3335,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3453,7 +3344,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -3466,7 +3357,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3474,7 +3365,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -4092,38 +3983,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -4153,7 +4012,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4162,7 +4021,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -4175,7 +4034,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -4183,7 +4042,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -4191,7 +4050,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -4620,38 +4479,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -4681,7 +4508,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4690,7 +4517,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -4703,7 +4530,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -4711,7 +4538,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -4719,7 +4546,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array<~lib/string/String>#set:length_ @@ -5064,134 +4891,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:b - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:c - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $bindings/esm/PlainObject#set:d - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:e - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:f - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:g - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $bindings/esm/PlainObject#set:h - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:i - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:j - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:k - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f32.const 0 - call $bindings/esm/PlainObject#set:l - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $bindings/esm/PlainObject#set:m - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:n - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:o - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:p - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/bindings/esm.release.wat b/tests/compiler/bindings/esm.release.wat index 9367b73e53..802577b631 100644 --- a/tests/compiler/bindings/esm.release.wat +++ b/tests/compiler/bindings/esm.release.wat @@ -2164,7 +2164,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$284 + block $__inlined_func$~lib/string/String#concat$257 local.get $1 i32.const 20 i32.sub @@ -2183,7 +2183,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1760 local.set $2 - br $__inlined_func$~lib/string/String#concat$284 + br $__inlined_func$~lib/string/String#concat$257 end global.get $~lib/memory/__stack_pointer local.get $2 @@ -2341,19 +2341,20 @@ (func $bindings/esm/typedarrayFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f32) - (local $5 i32) + (local $4 i32) + (local $5 f32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2361,150 +2362,121 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) - local.get $1 - call $~lib/typedarray/Float32Array#get:length - local.get $5 - i32.add - local.set $5 + local.get $1 + call $~lib/typedarray/Float32Array#get:length + local.get $3 + i32.add + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $3 + i32.eqz + if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $5 - i32.const 134217727 - i32.gt_u - if - i32.const 1248 - i32.const 1296 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 3 - i32.shl - local.tee $7 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $2 - local.get $5 - i32.store - local.get $2 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - br $__inlined_func$~lib/typedarray/Uint64Array#constructor - end - br $folding-inner1 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store end - local.tee $2 + local.get $6 + i32.const 134217727 + i32.gt_u + if + i32.const 1248 + i32.const 1296 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 3 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=12 + local.get $3 + local.get $6 + i32.store + local.get $3 + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer @@ -2512,11 +2484,11 @@ i32.store local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -2528,14 +2500,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store - local.get $3 + local.get $2 local.get $0 i32.load offset=8 i32.const 1 @@ -2554,50 +2526,50 @@ i32.store local.get $0 i32.load offset=4 - local.get $3 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_s - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $3 - local.get $5 + local.get $2 + local.get $4 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|0 end end i32.const 0 - local.set $3 + local.set $2 loop $for-loop|1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 call $~lib/typedarray/Float32Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $3 + local.get $2 i32.add - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 @@ -2608,14 +2580,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $1 i32.store - local.get $3 + local.get $2 local.get $1 i32.load offset=8 i32.const 2 @@ -2634,25 +2606,25 @@ i32.store local.get $1 i32.load offset=4 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add f32.load - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $5 + local.get $3 local.get $4 + local.get $5 i64.trunc_sat_f32_u call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|1 end end @@ -2660,7 +2632,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 return end i32.const 35072 @@ -2897,7 +2869,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$269 + block $__inlined_func$~lib/rt/itcms/__renew$242 i32.const 1073741820 local.get $2 i32.const 1 @@ -2940,7 +2912,7 @@ i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$269 + br $__inlined_func$~lib/rt/itcms/__renew$242 end local.get $3 local.get $4 @@ -3185,6 +3157,215 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $7 + i32.const 268435455 + i32.gt_u + if + i32.const 1248 + i32.const 1920 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $7 + local.get $7 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $4 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $3 + local.get $5 + i32.store + local.get $3 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $3 + local.get $2 + local.get $4 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $3 + local.get $4 + local.get $5 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $export:bindings/esm/bufferFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -3449,7 +3630,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - block $__inlined_func$bindings/esm/staticarrayFunction$1 (result i32) + block $__inlined_func$bindings/esm/staticarrayFunction (result i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -3605,7 +3786,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 - br $__inlined_func$bindings/esm/staticarrayFunction$1 + br $__inlined_func$bindings/esm/staticarrayFunction end br $folding-inner1 end @@ -3653,6 +3834,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3683,20 +3865,20 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.add - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -3715,37 +3897,9 @@ i32.const 16 i32.const 11 call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.tee $4 i32.store - local.get $6 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 + local.get $3 i32.const 268435455 i32.gt_u if @@ -3758,54 +3912,54 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 - i32.const 8 + local.get $3 + local.get $3 + i32.const 8 i32.le_u select i32.const 2 i32.shl - local.tee $3 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 + local.tee $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store offset=12 - local.get $6 local.get $4 + local.get $5 i32.store - local.get $6 local.get $4 + local.get $5 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $4 + i32.store offset=8 + local.get $4 + local.get $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $4 + local.get $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 + local.get $4 + i32.store offset=8 + local.get $4 + local.get $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer @@ -3817,12 +3971,12 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 - local.get $6 + local.get $4 local.get $2 local.get $0 local.get $2 @@ -3847,7 +4001,7 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -3860,7 +4014,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $6 + local.get $4 local.get $3 local.get $1 local.get $2 @@ -3881,7 +4035,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 return end i32.const 35072 @@ -3892,20 +4046,48 @@ unreachable ) (func $export:bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + if + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $0 + local.get $1 + call $bindings/esm/arrayOfStringsFunction + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -3913,472 +4095,108 @@ local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/array/Array#get:length - local.set $4 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/array/Array#get:length - local.get $4 - i32.add - local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 12 + i32.const 68 + i32.const 13 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store - local.get $5 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store offset=12 - local.get $4 - i32.const 268435455 - i32.gt_u - if - i32.const 1248 - i32.const 1920 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $4 - local.get $4 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=12 - local.get $5 - local.get $3 - i32.store - local.get $5 - local.get $3 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $6 - i32.store offset=8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $4 - i32.store offset=12 + i32.const 2276 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - loop $for-loop|0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $5 - local.get $2 - local.get $3 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end i32.const 0 - local.set $2 - loop $for-loop|1 + i32.store + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 i32.store - local.get $1 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $5 - local.get $3 - local.get $4 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - block $__inlined_func$bindings/esm/PlainObject#constructor$4 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 68 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store16 offset=2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store8 offset=16 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store16 offset=18 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i64.const 0 - i64.store offset=24 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=32 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=36 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store8 offset=40 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - f32.const 0 - f32.store offset=44 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - f64.const 0 - f64.store offset=48 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=56 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=60 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=64 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - br $__inlined_func$bindings/esm/PlainObject#constructor$4 - end - br $folding-inner1 - end - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store offset=8 - local.get $0 + local.get $2 i32.load8_s local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $2 + local.get $0 local.get $3 local.get $1 i32.load8_s i32.add i32.store8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 - local.get $0 + local.get $2 i32.load16_s offset=2 - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $2 local.get $0 + local.get $2 local.get $1 i32.load16_s offset=2 i32.add @@ -4391,7 +4209,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 return end i32.const 35072 diff --git a/tests/compiler/bindings/noExportRuntime.debug.wat b/tests/compiler/bindings/noExportRuntime.debug.wat index a75c227578..028b029173 100644 --- a/tests/compiler/bindings/noExportRuntime.debug.wat +++ b/tests/compiler/bindings/noExportRuntime.debug.wat @@ -2603,30 +2603,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -2648,7 +2624,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2657,7 +2633,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -2670,7 +2646,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -2678,7 +2654,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength diff --git a/tests/compiler/bindings/noExportRuntime.release.wat b/tests/compiler/bindings/noExportRuntime.release.wat index dd2b17bc43..04cf11fe85 100644 --- a/tests/compiler/bindings/noExportRuntime.release.wat +++ b/tests/compiler/bindings/noExportRuntime.release.wat @@ -156,7 +156,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$132 + block $__inlined_func$~lib/rt/itcms/Object#unlink$130 local.get $0 i32.load offset=4 i32.const -4 @@ -180,7 +180,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$132 + br $__inlined_func$~lib/rt/itcms/Object#unlink$130 end local.get $0 i32.load offset=8 @@ -1580,61 +1580,6 @@ memory.fill local.get $1 ) - (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $1 - if - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1264 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - end - ) (func $bindings/noExportRuntime/takesReturnsBasic (param $0 i32) (result i32) global.get $bindings/noExportRuntime/isBasic ) @@ -1777,6 +1722,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~started if return @@ -1819,7 +1766,7 @@ i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$start:bindings/noExportRuntime + block $__inlined_func$start:bindings/noExportRuntime$1 block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1780 @@ -1886,47 +1833,79 @@ i32.store end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=12 local.get $0 local.get $1 - call $~lib/arraybuffer/ArrayBufferView#set:buffer + i32.store + local.get $1 + if + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1264 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $2 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load offset=4 + i32.const 3 + i32.and + local.tee $4 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $2 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $4 + i32.const 3 + i32.eq + i32.and + if + local.get $2 + call $~lib/rt/itcms/Object#makeGray + end + end + end + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 0 i32.store offset=8 @@ -1942,7 +1921,7 @@ global.set $~lib/memory/__stack_pointer local.get $0 global.set $bindings/noExportRuntime/isTypedArray - br $__inlined_func$start:bindings/noExportRuntime + br $__inlined_func$start:bindings/noExportRuntime$1 end i32.const 34576 i32.const 34624 diff --git a/tests/compiler/bindings/raw.debug.wat b/tests/compiler/bindings/raw.debug.wat index 1a05e8c669..ccd52bdc3e 100644 --- a/tests/compiler/bindings/raw.debug.wat +++ b/tests/compiler/bindings/raw.debug.wat @@ -1,23 +1,20 @@ (module - (type $0 (func (param i32 i32))) - (type $1 (func (param i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) (type $2 (func (param i32 i32) (result i32))) (type $3 (func (param i32))) (type $4 (func)) (type $5 (func (param i32 i32 i32))) (type $6 (func (result i32))) (type $7 (func (param i32 i32 i32 i32))) - (type $8 (func (param i32 i64))) - (type $9 (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $10 (func (param f64) (result f64))) - (type $11 (func (param i64 i64) (result i64))) - (type $12 (func (result i64))) - (type $13 (func (param i32 i32 i64) (result i32))) - (type $14 (func (param i32 f32))) - (type $15 (func (param i32 f64))) - (type $16 (func (param i32 i32 i32) (result i32))) - (type $17 (func (param i32 i32 i64))) - (type $18 (func (param i32 i32) (result f32))) + (type $8 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $9 (func (param f64) (result f64))) + (type $10 (func (param i64 i64) (result i64))) + (type $11 (func (result i64))) + (type $12 (func (param i32 i32 i64) (result i32))) + (type $13 (func (param i32 i32 i32) (result i32))) + (type $14 (func (param i32 i32 i64))) + (type $15 (func (param i32 i32) (result f32))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "globalThis" (global $bindings/esm/immutableGlobal externref)) (import "env" "globalThis.globalThis" (global $bindings/esm/immutableGlobalNested externref)) @@ -2629,106 +2626,24 @@ local.get $this i32.load offset=4 ) + (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) + local.get $this + i32.load8_s + ) (func $bindings/esm/PlainObject#set:a (param $this i32) (param $a i32) local.get $this local.get $a i32.store8 ) + (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) + local.get $this + i32.load16_s offset=2 + ) (func $bindings/esm/PlainObject#set:b (param $this i32) (param $b i32) local.get $this local.get $b i32.store16 offset=2 ) - (func $bindings/esm/PlainObject#set:c (param $this i32) (param $c i32) - local.get $this - local.get $c - i32.store offset=4 - ) - (func $bindings/esm/PlainObject#set:d (param $this i32) (param $d i64) - local.get $this - local.get $d - i64.store offset=8 - ) - (func $bindings/esm/PlainObject#set:e (param $this i32) (param $e i32) - local.get $this - local.get $e - i32.store8 offset=16 - ) - (func $bindings/esm/PlainObject#set:f (param $this i32) (param $f i32) - local.get $this - local.get $f - i32.store16 offset=18 - ) - (func $bindings/esm/PlainObject#set:g (param $this i32) (param $g i32) - local.get $this - local.get $g - i32.store offset=20 - ) - (func $bindings/esm/PlainObject#set:h (param $this i32) (param $h i64) - local.get $this - local.get $h - i64.store offset=24 - ) - (func $bindings/esm/PlainObject#set:i (param $this i32) (param $i i32) - local.get $this - local.get $i - i32.store offset=32 - ) - (func $bindings/esm/PlainObject#set:j (param $this i32) (param $j i32) - local.get $this - local.get $j - i32.store offset=36 - ) - (func $bindings/esm/PlainObject#set:k (param $this i32) (param $k i32) - local.get $this - local.get $k - i32.store8 offset=40 - ) - (func $bindings/esm/PlainObject#set:l (param $this i32) (param $l f32) - local.get $this - local.get $l - f32.store offset=44 - ) - (func $bindings/esm/PlainObject#set:m (param $this i32) (param $m f64) - local.get $this - local.get $m - f64.store offset=48 - ) - (func $bindings/esm/PlainObject#set:n (param $this i32) (param $n i32) - local.get $this - local.get $n - i32.store offset=56 - local.get $this - local.get $n - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $bindings/esm/PlainObject#set:o (param $this i32) (param $o i32) - local.get $this - local.get $o - i32.store offset=60 - local.get $this - local.get $o - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $bindings/esm/PlainObject#set:p (param $this i32) (param $p i32) - local.get $this - local.get $p - i32.store offset=64 - local.get $this - local.get $p - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) - local.get $this - i32.load8_s - ) - (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) - local.get $this - i32.load16_s offset=2 - ) (func $bindings/esm/newInternref (result i32) i32.const 0 call $bindings/esm/NonPlainObject#constructor @@ -3402,30 +3317,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -3447,7 +3338,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3456,7 +3347,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -3469,7 +3360,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3477,7 +3368,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -4095,38 +3986,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -4156,7 +4015,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4165,7 +4024,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -4178,7 +4037,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -4186,7 +4045,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -4194,7 +4053,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -4623,38 +4482,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -4684,7 +4511,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4693,7 +4520,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -4706,7 +4533,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -4714,7 +4541,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -4722,7 +4549,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array<~lib/string/String>#set:length_ @@ -5067,134 +4894,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:b - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:c - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $bindings/esm/PlainObject#set:d - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:e - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:f - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:g - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $bindings/esm/PlainObject#set:h - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:i - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:j - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:k - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f32.const 0 - call $bindings/esm/PlainObject#set:l - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $bindings/esm/PlainObject#set:m - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:n - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:o - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $bindings/esm/PlainObject#set:p - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/bindings/raw.release.wat b/tests/compiler/bindings/raw.release.wat index e2ed7cd278..754d321128 100644 --- a/tests/compiler/bindings/raw.release.wat +++ b/tests/compiler/bindings/raw.release.wat @@ -2164,7 +2164,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$285 + block $__inlined_func$~lib/string/String#concat$258 local.get $1 i32.const 20 i32.sub @@ -2183,7 +2183,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1760 local.set $2 - br $__inlined_func$~lib/string/String#concat$285 + br $__inlined_func$~lib/string/String#concat$258 end global.get $~lib/memory/__stack_pointer local.get $2 @@ -2341,19 +2341,20 @@ (func $bindings/esm/typedarrayFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f32) - (local $5 i32) + (local $4 i32) + (local $5 f32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2361,150 +2362,121 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) - local.get $1 - call $~lib/typedarray/Float32Array#get:length - local.get $5 - i32.add - local.set $5 + local.get $1 + call $~lib/typedarray/Float32Array#get:length + local.get $3 + i32.add + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $3 + i32.eqz + if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $5 - i32.const 134217727 - i32.gt_u - if - i32.const 1248 - i32.const 1296 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 3 - i32.shl - local.tee $7 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $2 - local.get $5 - i32.store - local.get $2 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - br $__inlined_func$~lib/typedarray/Uint64Array#constructor - end - br $folding-inner1 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store end - local.tee $2 + local.get $6 + i32.const 134217727 + i32.gt_u + if + i32.const 1248 + i32.const 1296 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 3 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=12 + local.get $3 + local.get $6 + i32.store + local.get $3 + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer @@ -2512,11 +2484,11 @@ i32.store local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -2528,14 +2500,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store - local.get $3 + local.get $2 local.get $0 i32.load offset=8 i32.const 1 @@ -2554,50 +2526,50 @@ i32.store local.get $0 i32.load offset=4 - local.get $3 + local.get $2 i32.const 1 i32.shl i32.add i32.load16_s - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $3 - local.get $5 + local.get $2 + local.get $4 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|0 end end i32.const 0 - local.set $3 + local.set $2 loop $for-loop|1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 call $~lib/typedarray/Float32Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $3 + local.get $2 i32.add - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 @@ -2608,14 +2580,14 @@ global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $1 i32.store - local.get $3 + local.get $2 local.get $1 i32.load offset=8 i32.const 2 @@ -2634,25 +2606,25 @@ i32.store local.get $1 i32.load offset=4 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add f32.load - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $5 + local.get $3 local.get $4 + local.get $5 i64.trunc_sat_f32_u call $~lib/typedarray/Uint64Array#__set - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|1 end end @@ -2660,7 +2632,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 return end i32.const 35072 @@ -2897,7 +2869,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$270 + block $__inlined_func$~lib/rt/itcms/__renew$243 i32.const 1073741820 local.get $2 i32.const 1 @@ -2940,7 +2912,7 @@ i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$270 + br $__inlined_func$~lib/rt/itcms/__renew$243 end local.get $3 local.get $4 @@ -3185,6 +3157,215 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $7 + i32.const 268435455 + i32.gt_u + if + i32.const 1248 + i32.const 1920 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $7 + local.get $7 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $4 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $3 + local.get $5 + i32.store + local.get $3 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $3 + local.get $2 + local.get $4 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $3 + local.get $4 + local.get $5 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $export:bindings/esm/bufferFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -3449,7 +3630,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - block $__inlined_func$bindings/esm/staticarrayFunction$1 (result i32) + block $__inlined_func$bindings/esm/staticarrayFunction (result i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -3605,7 +3786,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 - br $__inlined_func$bindings/esm/staticarrayFunction$1 + br $__inlined_func$bindings/esm/staticarrayFunction end br $folding-inner1 end @@ -3653,6 +3834,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3683,20 +3865,20 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.add - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -3715,37 +3897,9 @@ i32.const 16 i32.const 11 call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.tee $4 i32.store - local.get $6 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 + local.get $3 i32.const 268435455 i32.gt_u if @@ -3758,54 +3912,54 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 - i32.const 8 + local.get $3 + local.get $3 + i32.const 8 i32.le_u select i32.const 2 i32.shl - local.tee $3 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 + local.tee $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store offset=12 - local.get $6 local.get $4 + local.get $5 i32.store - local.get $6 local.get $4 + local.get $5 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $4 + i32.store offset=8 + local.get $4 + local.get $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $4 + local.get $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 + local.get $4 + i32.store offset=8 + local.get $4 + local.get $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer @@ -3817,12 +3971,12 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 - local.get $6 + local.get $4 local.get $2 local.get $0 local.get $2 @@ -3847,7 +4001,7 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.store global.get $~lib/memory/__stack_pointer local.get $0 @@ -3860,7 +4014,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $6 + local.get $4 local.get $3 local.get $1 local.get $2 @@ -3881,7 +4035,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 return end i32.const 35072 @@ -3892,20 +4046,48 @@ unreachable ) (func $export:bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + if + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $0 + local.get $1 + call $bindings/esm/arrayOfStringsFunction + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -3913,472 +4095,108 @@ local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/array/Array#get:length - local.set $4 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/array/Array#get:length - local.get $4 - i32.add - local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2276 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 12 + i32.const 68 + i32.const 13 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store - local.get $5 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - i32.store offset=12 - local.get $4 - i32.const 268435455 - i32.gt_u - if - i32.const 1248 - i32.const 1920 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $4 - local.get $4 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=12 - local.get $5 - local.get $3 - i32.store - local.get $5 - local.get $3 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $6 - i32.store offset=8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $4 - i32.store offset=12 + i32.const 2276 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - loop $for-loop|0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $5 - local.get $2 - local.get $3 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end i32.const 0 - local.set $2 - loop $for-loop|1 + i32.store + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 i32.store - local.get $1 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $5 - local.get $3 - local.get $4 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - block $__inlined_func$bindings/esm/PlainObject#constructor$4 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 68 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store16 offset=2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store8 offset=16 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store16 offset=18 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i64.const 0 - i64.store offset=24 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=32 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=36 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store8 offset=40 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - f32.const 0 - f32.store offset=44 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - f64.const 0 - f64.store offset=48 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=56 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=60 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=64 - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - br $__inlined_func$bindings/esm/PlainObject#constructor$4 - end - br $folding-inner1 - end - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store offset=8 - local.get $0 + local.get $2 i32.load8_s local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $2 + local.get $0 local.get $3 local.get $1 i32.load8_s i32.add i32.store8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=8 - local.get $0 + local.get $2 i32.load16_s offset=2 - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 - local.get $2 local.get $0 + local.get $2 local.get $1 i32.load16_s offset=2 i32.add @@ -4391,7 +4209,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 return end i32.const 35072 diff --git a/tests/compiler/call-rest.debug.wat b/tests/compiler/call-rest.debug.wat index af743cb0b0..53ab22fbb7 100644 --- a/tests/compiler/call-rest.debug.wat +++ b/tests/compiler/call-rest.debug.wat @@ -3061,14 +3061,6 @@ local.get $7 i32.store offset=4 local.get $7 - i32.const 0 - call $call-rest/Foo#set:values - local.get $this - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 diff --git a/tests/compiler/call-rest.release.wat b/tests/compiler/call-rest.release.wat index 24506bdd09..9f9fcdfc9c 100644 --- a/tests/compiler/call-rest.release.wat +++ b/tests/compiler/call-rest.release.wat @@ -147,7 +147,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$160 + block $__inlined_func$~lib/rt/itcms/Object#unlink$159 local.get $0 i32.load offset=4 i32.const -4 @@ -171,7 +171,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$160 + br $__inlined_func$~lib/rt/itcms/Object#unlink$159 end local.get $0 i32.load offset=8 @@ -2028,7 +2028,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$154 + block $__inlined_func$~lib/rt/itcms/__renew$153 i32.const 1073741820 local.get $2 i32.const 1 @@ -2071,7 +2071,7 @@ i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$154 + br $__inlined_func$~lib/rt/itcms/__renew$153 end local.get $3 local.get $4 @@ -2211,15 +2211,6 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=4 - local.get $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 4 diff --git a/tests/compiler/class.debug.wat b/tests/compiler/class.debug.wat index 7e5b928f9c..740d99f295 100644 --- a/tests/compiler/class.debug.wat +++ b/tests/compiler/class.debug.wat @@ -2682,38 +2682,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -2743,7 +2711,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2752,7 +2720,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -2765,7 +2733,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -2773,7 +2741,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -2781,7 +2749,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ diff --git a/tests/compiler/class.release.wat b/tests/compiler/class.release.wat index d0d28890f0..b3a5bb5353 100644 --- a/tests/compiler/class.release.wat +++ b/tests/compiler/class.release.wat @@ -109,7 +109,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$139 + block $__inlined_func$~lib/rt/itcms/Object#unlink$136 local.get $0 i32.load offset=4 i32.const -4 @@ -133,7 +133,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$139 + br $__inlined_func$~lib/rt/itcms/Object#unlink$136 end local.get $0 i32.load offset=8 @@ -1668,38 +1668,14 @@ local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/array/Array#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer i32.const 32 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=12 @@ -1708,19 +1684,19 @@ call $~lib/array/Array#set:buffer global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + i32.store offset=8 local.get $2 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + i32.store offset=8 local.get $2 i32.const 32 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + i32.store offset=8 local.get $2 i32.const 0 i32.store offset=12 diff --git a/tests/compiler/constructor.debug.wat b/tests/compiler/constructor.debug.wat index b607b591d6..64ac738324 100644 --- a/tests/compiler/constructor.debug.wat +++ b/tests/compiler/constructor.debug.wat @@ -2260,11 +2260,6 @@ local.get $a i32.store ) - (func $constructor/EmptyCtorWithFieldNoInit#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - ) (func $constructor/EmptyCtorWithFieldAccess#set:a (param $this i32) (param $a i32) local.get $this local.get $a @@ -2275,11 +2270,6 @@ local.get $a i32.store ) - (func $constructor/JustFieldNoInit#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - ) (func $constructor/CtorReturns#constructor (param $this i32) (result i32) i32.const 0 return @@ -2540,42 +2530,6 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $constructor/EmptyCtorWithFieldNoInit#constructor (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $constructor/EmptyCtorWithFieldNoInit#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $constructor/EmptyCtorWithFieldAccess#constructor (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2602,14 +2556,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - call $constructor/EmptyCtorWithFieldAccess#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 call $constructor/EmptyCtorWithFieldAccess#set:a local.get $this @@ -2737,14 +2683,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $constructor/JustFieldNoInit#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3147,6 +3085,34 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $constructor/EmptyCtorWithFieldNoInit#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $~lib/object/Object#constructor (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/constructor.release.wat b/tests/compiler/constructor.release.wat index 339b5624fc..8f5ac86640 100644 --- a/tests/compiler/constructor.release.wat +++ b/tests/compiler/constructor.release.wat @@ -181,7 +181,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$153 + block $__inlined_func$~lib/rt/itcms/Object#unlink$150 local.get $1 i32.load offset=4 i32.const -4 @@ -205,7 +205,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$153 + br $__inlined_func$~lib/rt/itcms/Object#unlink$150 end local.get $1 i32.load offset=8 @@ -1747,7 +1747,7 @@ local.get $0 global.set $constructor/emptyCtorWithFieldInit global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1755,8 +1755,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 6 @@ -1764,13 +1764,7 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1796,12 +1790,6 @@ local.get $0 i32.store offset=4 local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 i32.const 1 i32.store global.get $~lib/memory/__stack_pointer @@ -1904,12 +1892,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/duplicate-fields.debug.wat b/tests/compiler/duplicate-fields.debug.wat index d8ebed0ef6..03b34f2366 100644 --- a/tests/compiler/duplicate-fields.debug.wat +++ b/tests/compiler/duplicate-fields.debug.wat @@ -2357,26 +2357,6 @@ local.get $this i32.load ) - (func $duplicate-fields/A3#set:prot (param $this i32) (param $prot i32) - local.get $this - local.get $prot - i32.store - ) - (func $duplicate-fields/A3#set:pub (param $this i32) (param $pub i32) - local.get $this - local.get $pub - i32.store offset=4 - ) - (func $duplicate-fields/B3#set:prot (param $this i32) (param $prot i32) - local.get $this - local.get $prot - i32.store - ) - (func $duplicate-fields/B3#set:pub (param $this i32) (param $pub i32) - local.get $this - local.get $pub - i32.store offset=4 - ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) global.get $duplicate-fields/foo @@ -2526,14 +2506,6 @@ local.get $2 i32.store offset=4 local.get $2 - i32.const 0 - call $duplicate-fields/A#set:bar - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $bar call $duplicate-fields/A#set:bar local.get $this @@ -2564,14 +2536,6 @@ local.tee $this i32.store end - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $duplicate-fields/B#set:bar global.get $~lib/memory/__stack_pointer local.get $this local.set $2 @@ -2628,14 +2592,6 @@ local.get $2 i32.store offset=4 local.get $2 - i32.const 0 - call $duplicate-fields/A2#set:bar - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $bar local.set $2 global.get $~lib/memory/__stack_pointer @@ -2674,14 +2630,6 @@ local.tee $this i32.store end - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $duplicate-fields/B2#set:bar global.get $~lib/memory/__stack_pointer local.get $this local.set $2 @@ -2745,14 +2693,6 @@ local.get $2 i32.store offset=4 local.get $2 - i32.const 0 - call $duplicate-fields/Foo#set:foo - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $foo call $duplicate-fields/Foo#set:foo local.get $this @@ -2796,22 +2736,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $duplicate-fields/A3#set:prot - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $duplicate-fields/A3#set:pub - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2850,22 +2774,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $duplicate-fields/B3#set:prot - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $duplicate-fields/B3#set:pub - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/duplicate-fields.release.wat b/tests/compiler/duplicate-fields.release.wat index 5bd2b707b9..83315fea51 100644 --- a/tests/compiler/duplicate-fields.release.wat +++ b/tests/compiler/duplicate-fields.release.wat @@ -116,7 +116,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$139 + block $__inlined_func$~lib/rt/itcms/Object#unlink$132 local.get $0 i32.load offset=4 i32.const -4 @@ -140,7 +140,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$139 + br $__inlined_func$~lib/rt/itcms/Object#unlink$132 end local.get $0 i32.load offset=8 @@ -1706,12 +1706,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 @@ -1740,12 +1734,6 @@ local.get $0 i32.store offset=4 local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 i32.const 10 i32.store global.get $~lib/memory/__stack_pointer @@ -1803,12 +1791,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 i32.store global.get $~lib/memory/__stack_pointer @@ -1839,12 +1821,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $duplicate-fields/A2#set:bar - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 @@ -1878,12 +1854,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $0 - i32.const 0 - call $duplicate-fields/A2#set:bar - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=8 @@ -2006,36 +1976,12 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-baseaggregate.debug.wat b/tests/compiler/extends-baseaggregate.debug.wat index ae6d22ffe4..10a8a76897 100644 --- a/tests/compiler/extends-baseaggregate.debug.wat +++ b/tests/compiler/extends-baseaggregate.debug.wat @@ -6,9 +6,8 @@ (type $4 (func (param i32 i32) (result i32))) (type $5 (func (param i32 i32 i32))) (type $6 (func (param i32 i32 i32 i32))) - (type $7 (func (param i32 f64))) - (type $8 (func (param i32 i32 i64) (result i32))) - (type $9 (func (result i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $extends-baseaggregate/poolB i32 (i32.const 64)) (global $extends-baseaggregate/poolA i32 (i32.const 144)) @@ -2251,15 +2250,67 @@ local.get $ptr return ) - (func $extends-baseaggregate/A1#set:padding0 (param $this i32) (param $padding0 f64) + (func $~lib/array/Array#get:length_ (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - local.get $padding0 - f64.store + i32.load offset=8 ) - (func $extends-baseaggregate/A1#set:padding1 (param $this i32) (param $padding1 f64) + (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - local.get $padding1 - f64.store offset=8 + i32.load + ) + (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) + local.get $this + i32.load offset=16 + ) + (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) + (local $oldObj i32) + (local $newPtr i32) + (local $4 i32) + (local $5 i32) + local.get $oldPtr + i32.const 20 + i32.sub + local.set $oldObj + local.get $size + local.get $oldObj + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $oldObj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $oldPtr + return + end + local.get $size + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtId + call $~lib/rt/itcms/__new + local.set $newPtr + local.get $newPtr + local.get $oldPtr + local.get $size + local.tee $4 + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtSize + local.tee $5 + local.get $4 + local.get $5 + i32.lt_u + select + memory.copy + local.get $newPtr + return ) (func $~lib/rt/itcms/__link (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2329,77 +2380,6 @@ end end ) - (func $extends-baseaggregate/A1#set:c1 (param $this i32) (param $c1 i32) - local.get $this - local.get $c1 - i32.store offset=16 - local.get $this - local.get $c1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#get:length_ (param $this i32) (result i32) - local.get $this - i32.load offset=12 - ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) - local.get $this - i32.load offset=8 - ) - (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) - local.get $this - i32.load - ) - (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) - local.get $this - i32.load offset=16 - ) - (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) - (local $oldObj i32) - (local $newPtr i32) - (local $4 i32) - (local $5 i32) - local.get $oldPtr - i32.const 20 - i32.sub - local.set $oldObj - local.get $size - local.get $oldObj - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $oldObj - local.get $size - call $~lib/rt/itcms/Object#set:rtSize - local.get $oldPtr - return - end - local.get $size - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtId - call $~lib/rt/itcms/__new - local.set $newPtr - local.get $newPtr - local.get $oldPtr - local.get $size - local.tee $4 - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtSize - local.tee $5 - local.get $4 - local.get $5 - i32.lt_u - select - memory.copy - local.get $newPtr - return - ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this i32.load offset=4 @@ -2624,30 +2604,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $extends-baseaggregate/A1#set:padding0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $extends-baseaggregate/A1#set:padding1 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $extends-baseaggregate/A1#set:c1 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-baseaggregate.release.wat b/tests/compiler/extends-baseaggregate.release.wat index 997ed95a65..7fa6f9c971 100644 --- a/tests/compiler/extends-baseaggregate.release.wat +++ b/tests/compiler/extends-baseaggregate.release.wat @@ -6,7 +6,6 @@ (type $4 (func (param i32 i32 i32 i32))) (type $5 (func (param i32 i32 i64))) (type $6 (func (result i32))) - (type $7 (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -120,7 +119,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$142 + block $__inlined_func$~lib/rt/itcms/Object#unlink$139 local.get $0 i32.load offset=4 i32.const -4 @@ -144,7 +143,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$142 + br $__inlined_func$~lib/rt/itcms/Object#unlink$139 end local.get $0 i32.load offset=8 @@ -1544,60 +1543,47 @@ memory.fill local.get $1 ) - (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - local.get $1 - i32.eqz - if - return - end + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 i32.eqz if - i32.const 0 - i32.const 1280 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable + return end global.get $~lib/rt/itcms/white - local.get $1 + local.get $0 i32.const 20 i32.sub - local.tee $1 + local.tee $0 i32.load offset=4 i32.const 3 i32.and i32.eq if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load offset=4 + i32.const 1152 + i32.load i32.const 3 i32.and - local.tee $3 + local.tee $2 global.get $~lib/rt/itcms/white i32.eqz i32.eq if + i32.const 1148 local.get $0 local.get $1 - local.get $2 select call $~lib/rt/itcms/Object#makeGray else global.get $~lib/rt/itcms/state i32.const 1 i32.eq - local.get $3 + local.get $2 i32.const 3 i32.eq i32.and if - local.get $1 + local.get $0 call $~lib/rt/itcms/Object#makeGray end end @@ -1787,11 +1773,11 @@ i32.const 20 i32.const 7 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -1804,19 +1790,19 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $6 + local.get $5 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 20 i32.const 5 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.store end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1829,56 +1815,34 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $6 + local.get $5 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $5 i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 0 - f64.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 0 - f64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=16 - local.get $6 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $5 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1896,11 +1860,11 @@ i32.store i32.const 1180 i32.load - local.tee $5 + local.tee $4 i32.const 1 i32.add - local.tee $4 - local.set $2 + local.tee $3 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1915,15 +1879,15 @@ global.get $~lib/memory/__stack_pointer i32.const 1168 i32.store - local.get $2 + local.get $0 i32.const 1176 i32.load - local.tee $0 + local.tee $1 i32.const 2 i32.shr_u i32.gt_u if - local.get $2 + local.get $0 i32.const 268435455 i32.gt_u if @@ -1937,20 +1901,20 @@ global.get $~lib/memory/__stack_pointer i32.const 1168 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$141 + block $__inlined_func$~lib/rt/itcms/__renew$138 i32.const 1073741820 - local.get $0 + local.get $1 i32.const 1 i32.shl - local.tee $0 - local.get $0 + local.tee $1 + local.get $1 i32.const 1073741820 i32.ge_u select local.tee $1 i32.const 8 - local.get $2 - local.get $2 + local.get $0 + local.get $0 i32.const 8 i32.le_u select @@ -1961,13 +1925,13 @@ local.get $1 i32.lt_u select - local.tee $3 + local.tee $2 i32.const 1168 i32.load - local.tee $0 + local.tee $1 i32.const 20 i32.sub - local.tee $2 + local.tee $6 i32.load i32.const -4 i32.and @@ -1975,26 +1939,26 @@ i32.sub i32.le_u if + local.get $6 local.get $2 - local.get $3 i32.store offset=16 - local.get $0 - local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$141 + local.get $1 + local.set $0 + br $__inlined_func$~lib/rt/itcms/__renew$138 end - local.get $3 local.get $2 + local.get $6 i32.load offset=12 call $~lib/rt/itcms/__new - local.tee $1 - local.get $0 - local.get $3 + local.tee $0 + local.get $1 local.get $2 + local.get $6 i32.load offset=16 - local.tee $2 + local.tee $6 local.get $2 - local.get $3 - i32.gt_u + local.get $6 + i32.lt_u select memory.copy end @@ -2003,18 +1967,17 @@ i32.ne if i32.const 1168 - local.get $1 + local.get $0 i32.store i32.const 1172 - local.get $1 + local.get $0 i32.store - i32.const 1168 - local.get $1 + local.get $0 i32.const 0 call $~lib/rt/itcms/__link end i32.const 1176 - local.get $3 + local.get $2 i32.store end global.get $~lib/memory/__stack_pointer @@ -2026,21 +1989,20 @@ i32.store i32.const 1172 i32.load - local.get $5 + local.get $4 i32.const 2 i32.shl i32.add - local.get $6 + local.get $5 i32.store - i32.const 1168 - local.get $6 + local.get $5 i32.const 1 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 1168 i32.store i32.const 1180 - local.get $4 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/extends-recursive.debug.wat b/tests/compiler/extends-recursive.debug.wat index e0d1b59343..2984c7c9aa 100644 --- a/tests/compiler/extends-recursive.debug.wat +++ b/tests/compiler/extends-recursive.debug.wat @@ -3,8 +3,8 @@ (type $1 (func (param i32 i32))) (type $2 (func (param i32))) (type $3 (func)) - (type $4 (func (param i32 i32 i32))) - (type $5 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) (type $6 (func (param i32 i32 i32 i32))) (type $7 (func (param i32 i32 i64) (result i32))) (type $8 (func (result i32))) @@ -2241,83 +2241,6 @@ local.get $ptr return ) - (func $~lib/rt/itcms/__link (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) - (local $child i32) - (local $parent i32) - (local $parentColor i32) - local.get $childPtr - i32.eqz - if - return - end - i32.const 1 - drop - local.get $parentPtr - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - local.get $childPtr - i32.const 20 - i32.sub - local.set $child - local.get $child - call $~lib/rt/itcms/Object#get:color - global.get $~lib/rt/itcms/white - i32.eq - if - local.get $parentPtr - i32.const 20 - i32.sub - local.set $parent - local.get $parent - call $~lib/rt/itcms/Object#get:color - local.set $parentColor - local.get $parentColor - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $expectMultiple - if - local.get $parent - call $~lib/rt/itcms/Object#makeGray - else - local.get $child - call $~lib/rt/itcms/Object#makeGray - end - else - local.get $parentColor - i32.const 3 - i32.eq - if (result i32) - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - else - i32.const 0 - end - if - local.get $child - call $~lib/rt/itcms/Object#makeGray - end - end - end - ) - (func $extends-recursive/Parent#set:child (param $this i32) (param $child i32) - local.get $this - local.get $child - i32.store - local.get $this - local.get $child - i32.const 0 - call $~lib/rt/itcms/__link - ) (func $start:extends-recursive memory.size i32.const 16 @@ -2462,14 +2385,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $extends-recursive/Parent#set:child - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-recursive.release.wat b/tests/compiler/extends-recursive.release.wat index 5ccacc74bf..2cd3066ab6 100644 --- a/tests/compiler/extends-recursive.release.wat +++ b/tests/compiler/extends-recursive.release.wat @@ -90,19 +90,19 @@ local.get $0 i32.const 20 i32.sub - local.tee $0 + local.tee $1 i32.load offset=4 i32.const 3 i32.and i32.eq if - local.get $0 + local.get $1 global.get $~lib/rt/itcms/iter i32.eq if - local.get $0 + local.get $1 i32.load offset=8 - local.tee $1 + local.tee $0 i32.eqz if i32.const 0 @@ -112,21 +112,21 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$116 - local.get $0 + block $__inlined_func$~lib/rt/itcms/Object#unlink$114 + local.get $1 i32.load offset=4 i32.const -4 i32.and - local.tee $1 + local.tee $0 i32.eqz if - local.get $0 + local.get $1 i32.load offset=8 i32.eqz - local.get $0 + local.get $1 i32.const 34236 i32.lt_u i32.and @@ -139,9 +139,9 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$116 + br $__inlined_func$~lib/rt/itcms/Object#unlink$114 end - local.get $0 + local.get $1 i32.load offset=8 local.tee $2 i32.eqz @@ -153,11 +153,11 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 local.get $2 i32.store offset=8 local.get $2 - local.get $1 + local.get $0 local.get $2 i32.load offset=4 i32.const 3 @@ -167,15 +167,15 @@ end global.get $~lib/rt/itcms/toSpace local.set $2 - local.get $0 + local.get $1 i32.load offset=12 - local.tee $1 + local.tee $0 i32.const 2 i32.le_u if (result i32) i32.const 1 else - local.get $1 + local.get $0 i32.const 1440 i32.load i32.gt_u @@ -187,7 +187,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 2 i32.shl i32.const 1444 @@ -199,8 +199,8 @@ local.set $3 local.get $2 i32.load offset=8 - local.set $1 - local.get $0 + local.set $0 + local.get $1 global.get $~lib/rt/itcms/white i32.eqz i32.const 2 @@ -209,19 +209,19 @@ local.get $2 i32.or i32.store offset=4 - local.get $0 local.get $1 + local.get $0 i32.store offset=8 - local.get $1 local.get $0 local.get $1 + local.get $0 i32.load offset=4 i32.const 3 i32.and i32.or i32.store offset=4 local.get $2 - local.get $0 + local.get $1 i32.store offset=8 global.get $~lib/rt/itcms/visitCount i32.const 1 @@ -1548,7 +1548,7 @@ (local $0 i32) (local $1 i32) (local $2 i32) - block $__inlined_func$start:extends-recursive$1 + block $__inlined_func$start:extends-recursive memory.size i32.const 16 i32.shl @@ -1656,12 +1656,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1671,7 +1665,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$start:extends-recursive$1 + br $__inlined_func$start:extends-recursive end i32.const 34256 i32.const 34304 diff --git a/tests/compiler/field-initialization.debug.wat b/tests/compiler/field-initialization.debug.wat index acb835fa02..15b078c0d5 100644 --- a/tests/compiler/field-initialization.debug.wat +++ b/tests/compiler/field-initialization.debug.wat @@ -2261,11 +2261,6 @@ local.get $this i32.load ) - (func $field-initialization/Value#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - ) (func $field-initialization/Value#get:a (param $this i32) (result i32) local.get $this i32.load @@ -2364,24 +2359,10 @@ local.get $this i32.load ) - (func $field-initialization/Nullable#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - local.get $this - local.get $a - i32.const 0 - call $~lib/rt/itcms/__link - ) (func $field-initialization/Nullable#get:a (param $this i32) (result i32) local.get $this i32.load ) - (func $field-initialization/Value_Ctor#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - ) (func $field-initialization/Value_Ctor#get:a (param $this i32) (result i32) local.get $this i32.load @@ -2443,15 +2424,6 @@ local.get $this i32.load ) - (func $field-initialization/Nullable_Ctor#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - local.get $this - local.get $a - i32.const 0 - call $~lib/rt/itcms/__link - ) (func $field-initialization/Nullable_Ctor#get:a (param $this i32) (result i32) local.get $this i32.load @@ -2495,20 +2467,6 @@ local.get $this i32.load ) - (func $field-initialization/SomeObject#set:a (param $this i32) (param $a i32) - local.get $this - local.get $a - i32.store - ) - (func $field-initialization/SomeObject#set:b (param $this i32) (param $b i32) - local.get $this - local.get $b - i32.store offset=4 - local.get $this - local.get $b - i32.const 0 - call $~lib/rt/itcms/__link - ) (func $field-initialization/SomeObject#get:a (param $this i32) (result i32) local.get $this i32.load @@ -2634,6 +2592,20 @@ i32.const 0 return ) + (func $field-initialization/SomeObject#set:a (param $this i32) (param $a i32) + local.get $this + local.get $a + i32.store + ) + (func $field-initialization/SomeObject#set:b (param $this i32) (param $b i32) + local.get $this + local.get $b + i32.store offset=4 + local.get $this + local.get $b + i32.const 0 + call $~lib/rt/itcms/__link + ) (func $field-initialization/SomeOtherObject#set:c (param $this i32) (param $c i32) local.get $this local.get $c @@ -3107,14 +3079,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/Value#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3265,50 +3229,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/Nullable#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $field-initialization/Value_Ctor#constructor (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/Value_Ctor#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3376,14 +3296,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - call $field-initialization/Value_Ctor_Init#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 call $field-initialization/Value_Ctor_Init#set:a local.get $this @@ -3470,14 +3382,6 @@ i32.store offset=4 local.get $1 i32.const 0 - call $field-initialization/Ref_Ctor_Init#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -3538,42 +3442,6 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $field-initialization/Nullable_Ctor#constructor (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/Nullable_Ctor#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $field-initialization/Nullable_Init_Ctor#constructor (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3650,14 +3518,6 @@ i32.store offset=4 local.get $1 i32.const 0 - call $field-initialization/Nullable_Ctor_Init#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -3839,22 +3699,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/SomeObject#set:a - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/SomeObject#set:b - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3989,14 +3833,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $field-initialization/SomeOtherObject#set:c - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -4025,14 +3861,6 @@ local.tee $this i32.store end - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $field-initialization/Flow_Balanced#set:a local.get $cond if local.get $this @@ -5038,14 +4866,6 @@ i32.store offset=4 local.get $34 i32.const 0 - call $field-initialization/Ref_InlineCtor_Init#set:a - local.get $32 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store offset=4 - local.get $34 - i32.const 0 i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $34 @@ -5149,4 +4969,60 @@ local.get $3 return ) + (func $field-initialization/Value_Ctor#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $field-initialization/Nullable_Ctor#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) ) diff --git a/tests/compiler/field-initialization.release.wat b/tests/compiler/field-initialization.release.wat index c5911e7208..416e5fc382 100644 --- a/tests/compiler/field-initialization.release.wat +++ b/tests/compiler/field-initialization.release.wat @@ -120,7 +120,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$241 + block $__inlined_func$~lib/rt/itcms/Object#unlink$229 local.get $0 i32.load offset=4 i32.const -4 @@ -144,7 +144,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$241 + br $__inlined_func$~lib/rt/itcms/Object#unlink$229 end local.get $0 i32.load offset=8 @@ -1754,21 +1754,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1887,7 +1872,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$118 + block $__inlined_func$~lib/util/string/compareImpl$107 loop $while-continue|1 local.get $0 local.tee $3 @@ -1907,7 +1892,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$118 + br_if $__inlined_func$~lib/util/string/compareImpl$107 local.get $2 i32.const 2 i32.add @@ -1971,15 +1956,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2114,12 +2090,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2291,15 +2261,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2320,7 +2281,7 @@ end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2328,8 +2289,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 9 @@ -2337,13 +2298,7 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2428,12 +2383,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 i32.store global.get $~lib/memory/__stack_pointer @@ -2536,15 +2485,6 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer @@ -2639,7 +2579,7 @@ end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2647,8 +2587,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 15 @@ -2656,16 +2596,7 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2762,15 +2693,6 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer @@ -3289,15 +3211,6 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer @@ -3376,15 +3289,6 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/infer-generic.debug.wat b/tests/compiler/infer-generic.debug.wat index e5325dead1..5e894fd0c4 100644 --- a/tests/compiler/infer-generic.debug.wat +++ b/tests/compiler/infer-generic.debug.wat @@ -2605,14 +2605,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $infer-generic/Ref#set:x - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/infer-generic.release.wat b/tests/compiler/infer-generic.release.wat index c09c4b901d..18a0f25673 100644 --- a/tests/compiler/infer-generic.release.wat +++ b/tests/compiler/infer-generic.release.wat @@ -144,7 +144,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$138 + block $__inlined_func$~lib/rt/itcms/Object#unlink$137 local.get $1 i32.load offset=4 i32.const -4 @@ -168,7 +168,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$138 + br $__inlined_func$~lib/rt/itcms/Object#unlink$137 end local.get $1 i32.load offset=8 @@ -1810,12 +1810,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/inlining.debug.wat b/tests/compiler/inlining.debug.wat index 1478d40aca..1d06017ded 100644 --- a/tests/compiler/inlining.debug.wat +++ b/tests/compiler/inlining.debug.wat @@ -2893,14 +2893,6 @@ local.get $5 i32.const 3 call $inlining/Bar#set:d - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $inlining/Bar#set:e global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $this @@ -2932,14 +2924,6 @@ local.get $5 i32.store offset=4 local.get $5 - i32.const 0 - call $inlining/Baz#set:b - local.get $this|2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $c call $inlining/Baz#set:b local.get $this|2 diff --git a/tests/compiler/inlining.release.wat b/tests/compiler/inlining.release.wat index bb306de122..befc30cc22 100644 --- a/tests/compiler/inlining.release.wat +++ b/tests/compiler/inlining.release.wat @@ -134,7 +134,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$125 + block $__inlined_func$~lib/rt/itcms/Object#unlink$123 local.get $1 i32.load offset=4 i32.const -4 @@ -158,7 +158,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$125 + br $__inlined_func$~lib/rt/itcms/Object#unlink$123 end local.get $1 i32.load offset=8 @@ -1539,217 +1539,6 @@ memory.fill local.get $1 ) - (func $start:inlining - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1556 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - i32.const 2 - i32.const 1104 - i32.load - call_indirect (type $2) - drop - global.get $~lib/memory/__stack_pointer - i32.const 123 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 123 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - memory.size - i32.const 16 - i32.shl - i32.const 34324 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1252 - i32.const 1248 - i32.store - i32.const 1256 - i32.const 1248 - i32.store - i32.const 1248 - global.set $~lib/rt/itcms/pinSpace - i32.const 1284 - i32.const 1280 - i32.store - i32.const 1288 - i32.const 1280 - i32.store - i32.const 1280 - global.set $~lib/rt/itcms/toSpace - i32.const 1428 - i32.const 1424 - i32.store - i32.const 1432 - i32.const 1424 - i32.store - i32.const 1424 - global.set $~lib/rt/itcms/fromSpace - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1556 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store offset=8 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.store offset=4 - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - i32.store offset=12 - local.get $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 96 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 97 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 98 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=12 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 99 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 34352 - i32.const 34400 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) (func $~lib/math/NativeMath.cbrt (param $0 f64) (result f64) (local $1 i32) (local $2 i64) @@ -1972,6 +1761,204 @@ unreachable ) (func $~start - call $start:inlining + (local $0 i32) + (local $1 i32) + (local $2 i32) + block $__inlined_func$start:inlining + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1556 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 2 + i32.const 1104 + i32.load + call_indirect (type $2) + drop + global.get $~lib/memory/__stack_pointer + i32.const 123 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 123 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + memory.size + i32.const 16 + i32.shl + i32.const 34324 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1252 + i32.const 1248 + i32.store + i32.const 1256 + i32.const 1248 + i32.store + i32.const 1248 + global.set $~lib/rt/itcms/pinSpace + i32.const 1284 + i32.const 1280 + i32.store + i32.const 1288 + i32.const 1280 + i32.store + i32.const 1280 + global.set $~lib/rt/itcms/toSpace + i32.const 1428 + i32.const 1424 + i32.store + i32.const 1432 + i32.const 1424 + i32.store + i32.const 1424 + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1556 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=8 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 2 + i32.store offset=4 + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 4 + i32.store offset=12 + local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 96 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=4 + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 97 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 98 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=12 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 99 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$start:inlining + end + i32.const 34352 + i32.const 34400 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end ) ) diff --git a/tests/compiler/issues/1225.debug.wat b/tests/compiler/issues/1225.debug.wat index b87f40c3c9..ad0e33bb26 100644 --- a/tests/compiler/issues/1225.debug.wat +++ b/tests/compiler/issues/1225.debug.wat @@ -2477,22 +2477,6 @@ local.get $2 i32.store offset=4 local.get $2 - i32.const 0 - call $issues/1225/X#set:normal - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $issues/1225/X#set:viaThis - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $this local.set $2 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/issues/1225.release.wat b/tests/compiler/issues/1225.release.wat index be387fc91c..ea4687ae29 100644 --- a/tests/compiler/issues/1225.release.wat +++ b/tests/compiler/issues/1225.release.wat @@ -126,7 +126,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$119 + block $__inlined_func$~lib/rt/itcms/Object#unlink$117 local.get $1 i32.load offset=4 i32.const -4 @@ -150,7 +150,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$119 + br $__inlined_func$~lib/rt/itcms/Object#unlink$117 end local.get $1 i32.load offset=8 @@ -1472,18 +1472,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 diff --git a/tests/compiler/issues/1699.debug.wat b/tests/compiler/issues/1699.debug.wat index 168e3faaaf..11b6e1a3d6 100644 --- a/tests/compiler/issues/1699.debug.wat +++ b/tests/compiler/issues/1699.debug.wat @@ -2545,38 +2545,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -2606,7 +2574,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2615,7 +2583,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -2628,7 +2596,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -2636,7 +2604,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -2644,7 +2612,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ diff --git a/tests/compiler/issues/1699.release.wat b/tests/compiler/issues/1699.release.wat index 80c73bc8a5..3e6ab4dff7 100644 --- a/tests/compiler/issues/1699.release.wat +++ b/tests/compiler/issues/1699.release.wat @@ -113,7 +113,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$146 + block $__inlined_func$~lib/rt/itcms/Object#unlink$143 local.get $0 i32.load offset=4 i32.const -4 @@ -137,7 +137,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$146 + br $__inlined_func$~lib/rt/itcms/Object#unlink$143 end local.get $0 i32.load offset=8 @@ -1600,6 +1600,7 @@ (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) memory.size i32.const 16 i32.shl @@ -1636,11 +1637,11 @@ i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 28 @@ -1653,7 +1654,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -1667,42 +1668,14 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer i32.const 32 i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 @@ -1715,19 +1688,19 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 32 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 3 i32.store offset=12 @@ -1780,7 +1753,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -2133,7 +2106,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$145 + block $__inlined_func$~lib/rt/itcms/__renew$142 i32.const 1073741820 local.get $4 i32.const 1 @@ -2176,7 +2149,7 @@ i32.store offset=16 local.get $4 local.set $3 - br $__inlined_func$~lib/rt/itcms/__renew$145 + br $__inlined_func$~lib/rt/itcms/__renew$142 end local.get $5 local.get $7 diff --git a/tests/compiler/issues/2322/index.debug.wat b/tests/compiler/issues/2322/index.debug.wat index febbe4e10f..86b20889ec 100644 --- a/tests/compiler/issues/2322/index.debug.wat +++ b/tests/compiler/issues/2322/index.debug.wat @@ -2242,11 +2242,6 @@ local.get $ptr return ) - (func $issues/2322/lib/Wrapper#set:v (param $this i32) (param $v i32) - local.get $this - local.get $v - i32.store - ) (func $issues/2322/lib/test (param $t i32) ) (func $~lib/rt/__visit_globals (param $0 i32) @@ -2363,14 +2358,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $issues/2322/lib/Wrapper#set:v - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/issues/2322/index.release.wat b/tests/compiler/issues/2322/index.release.wat index 9349beea7c..46f12de6a8 100644 --- a/tests/compiler/issues/2322/index.release.wat +++ b/tests/compiler/issues/2322/index.release.wat @@ -116,7 +116,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$112 + block $__inlined_func$~lib/rt/itcms/Object#unlink$111 local.get $1 i32.load offset=4 i32.const -4 @@ -140,7 +140,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$112 + br $__inlined_func$~lib/rt/itcms/Object#unlink$111 end local.get $1 i32.load offset=8 @@ -1647,12 +1647,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/object-literal.debug.wat b/tests/compiler/object-literal.debug.wat index f5a5c6902a..483655d915 100644 --- a/tests/compiler/object-literal.debug.wat +++ b/tests/compiler/object-literal.debug.wat @@ -5,17 +5,14 @@ (type $3 (func)) (type $4 (func (param i32 i32) (result i32))) (type $5 (func (param i32 i32 i32))) - (type $6 (func (param i32 f64))) - (type $7 (func (param i32) (result f64))) - (type $8 (func (param i32 i64))) - (type $9 (func (param i32) (result i64))) - (type $10 (func (param i32 i32 i32 i32))) - (type $11 (func (param i32 i32 i64) (result i32))) - (type $12 (func (result i32))) - (type $13 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $14 (func (param i32 f32))) - (type $15 (func (param i32) (result f32))) - (type $16 (func (param i32 i32 i32) (result i32))) + (type $6 (func (param i32) (result f64))) + (type $7 (func (param i32) (result i64))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64) (result i32))) + (type $10 (func (result i32))) + (type $11 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $12 (func (param i32) (result f32))) + (type $13 (func (param i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/iter (mut i32) (i32.const 0)) @@ -2498,76 +2495,6 @@ local.get $this i32.load offset=4 ) - (func $object-literal/OmittedTypes#set:int32 (param $this i32) (param $int32 i32) - local.get $this - local.get $int32 - i32.store - ) - (func $object-literal/OmittedTypes#set:uint32 (param $this i32) (param $uint32 i32) - local.get $this - local.get $uint32 - i32.store offset=4 - ) - (func $object-literal/OmittedTypes#set:int64 (param $this i32) (param $int64 i64) - local.get $this - local.get $int64 - i64.store offset=8 - ) - (func $object-literal/OmittedTypes#set:uint64 (param $this i32) (param $uint64 i64) - local.get $this - local.get $uint64 - i64.store offset=16 - ) - (func $object-literal/OmittedTypes#set:float32 (param $this i32) (param $float32 f32) - local.get $this - local.get $float32 - f32.store offset=24 - ) - (func $object-literal/OmittedTypes#set:float64 (param $this i32) (param $float64 f64) - local.get $this - local.get $float64 - f64.store offset=32 - ) - (func $object-literal/OmittedTypes#set:int8 (param $this i32) (param $int8 i32) - local.get $this - local.get $int8 - i32.store8 offset=40 - ) - (func $object-literal/OmittedTypes#set:uint8 (param $this i32) (param $uint8 i32) - local.get $this - local.get $uint8 - i32.store8 offset=41 - ) - (func $object-literal/OmittedTypes#set:int16 (param $this i32) (param $int16 i32) - local.get $this - local.get $int16 - i32.store16 offset=42 - ) - (func $object-literal/OmittedTypes#set:uint16 (param $this i32) (param $uint16 i32) - local.get $this - local.get $uint16 - i32.store16 offset=44 - ) - (func $object-literal/OmittedTypes#set:intsize (param $this i32) (param $intsize i32) - local.get $this - local.get $intsize - i32.store offset=48 - ) - (func $object-literal/OmittedTypes#set:uintsize (param $this i32) (param $uintsize i32) - local.get $this - local.get $uintsize - i32.store offset=52 - ) - (func $object-literal/OmittedTypes#set:alias (param $this i32) (param $alias f64) - local.get $this - local.get $alias - f64.store offset=56 - ) - (func $object-literal/OmittedTypes#set:isTrue (param $this i32) (param $isTrue i32) - local.get $this - local.get $isTrue - i32.store8 offset=64 - ) (func $object-literal/OmittedTypes#get:int32 (param $this i32) (result i32) local.get $this i32.load @@ -2638,11 +2565,6 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $object-literal/MixedOmitted#set:anotherSimpleType (param $this i32) (param $anotherSimpleType f64) - local.get $this - local.get $anotherSimpleType - f64.store offset=8 - ) (func $object-literal/MixedOmitted#get:simpleType (param $this i32) (result i32) local.get $this i32.load @@ -2673,65 +2595,6 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $object-literal/OmittedFoo#set:quux (param $this i32) (param $quux i32) - local.get $this - local.get $quux - i32.store offset=8 - local.get $this - local.get $quux - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $object-literal/OmittedFoo#set:quuz (param $this i32) (param $quuz i32) - local.get $this - local.get $quuz - i32.store offset=12 - local.get $this - local.get $quuz - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $object-literal/OmittedFoo#set:corge (param $this i32) (param $corge i32) - local.get $this - local.get $corge - i32.store offset=16 - local.get $this - local.get $corge - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $object-literal/OmittedFoo#set:grault (param $this i32) (param $grault i32) - local.get $this - local.get $grault - i32.store offset=20 - local.get $this - local.get $grault - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $object-literal/OmittedFoo#set:garply (param $this i32) (param $garply i32) - local.get $this - local.get $garply - i32.store offset=24 - local.get $this - local.get $garply - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $object-literal/OmittedFoo#set:waldo (param $this i32) (param $waldo i32) - local.get $this - local.get $waldo - i32.store offset=28 - local.get $this - local.get $waldo - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $object-literal/OmittedFoo#set:fred (param $this i32) (param $fred i32) - local.get $this - local.get $fred - i32.store offset=32 - ) (func $object-literal/OmittedFoo#set:qux (param $this i32) (param $qux i32) local.get $this local.get $qux @@ -2997,22 +2860,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/Managed#set:bar - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/Managed#set:baz - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3400,118 +3247,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:int32 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:uint32 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $object-literal/OmittedTypes#set:int64 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $object-literal/OmittedTypes#set:uint64 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f32.const 0 - call $object-literal/OmittedTypes#set:float32 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $object-literal/OmittedTypes#set:float64 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:int8 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:uint8 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:int16 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:uint16 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:intsize - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:uintsize - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $object-literal/OmittedTypes#set:alias - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedTypes#set:isTrue - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3825,30 +3560,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/MixedOmitted#set:simpleType - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/MixedOmitted#set:complexType - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - call $object-literal/MixedOmitted#set:anotherSimpleType - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -3980,62 +3691,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:quux - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:quuz - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:corge - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:grault - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:garply - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:waldo - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $object-literal/OmittedFoo#set:fred - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const -1 call $object-literal/OmittedFoo#set:qux local.get $this diff --git a/tests/compiler/object-literal.release.wat b/tests/compiler/object-literal.release.wat index 9070d20967..c51a6b6a41 100644 --- a/tests/compiler/object-literal.release.wat +++ b/tests/compiler/object-literal.release.wat @@ -71,7 +71,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$205 + block $__inlined_func$~lib/rt/itcms/Object#unlink$181 local.get $0 i32.load offset=4 i32.const -4 @@ -95,7 +95,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$205 + br $__inlined_func$~lib/rt/itcms/Object#unlink$181 end local.get $0 i32.load offset=8 @@ -1786,7 +1786,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$83 + block $__inlined_func$~lib/util/string/compareImpl$81 loop $while-continue|1 local.get $0 local.tee $3 @@ -1806,7 +1806,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$83 + br_if $__inlined_func$~lib/util/string/compareImpl$81 local.get $2 i32.const 2 i32.add @@ -2274,11 +2274,11 @@ i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 @@ -2323,7 +2323,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2342,21 +2342,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2387,7 +2372,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2456,7 +2441,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2482,7 +2467,7 @@ i32.const 1 i32.shl local.set $3 - block $__inlined_func$~lib/string/String#substring$210 + block $__inlined_func$~lib/string/String#substring$186 local.get $2 i32.const 0 local.get $2 @@ -2503,7 +2488,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1568 local.set $0 - br $__inlined_func$~lib/string/String#substring$210 + br $__inlined_func$~lib/string/String#substring$186 end local.get $3 i32.eqz @@ -2520,7 +2505,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1056 local.set $0 - br $__inlined_func$~lib/string/String#substring$210 + br $__inlined_func$~lib/string/String#substring$186 end global.get $~lib/memory/__stack_pointer local.get $2 @@ -2552,7 +2537,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -2599,7 +2584,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2607,152 +2592,68 @@ i32.const 65 i32.const 5 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 call $~lib/object/Object#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 0 - f32.store offset=24 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 0 - f64.store offset=32 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store8 offset=40 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store8 offset=41 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store16 offset=42 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store16 offset=44 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=48 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=52 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 0 - f64.store offset=56 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store8 offset=64 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store - local.get $0 + local.get $1 i32.const 0 i32.store offset=4 - local.get $0 + local.get $1 i64.const 0 i64.store offset=8 - local.get $0 + local.get $1 i64.const 0 i64.store offset=16 - local.get $0 + local.get $1 f32.const 0 f32.store offset=24 - local.get $0 + local.get $1 f64.const 0 f64.store offset=32 - local.get $0 + local.get $1 i32.const 0 i32.store8 offset=40 - local.get $0 + local.get $1 i32.const 0 i32.store8 offset=41 - local.get $0 + local.get $1 i32.const 0 i32.store16 offset=42 - local.get $0 + local.get $1 i32.const 0 i32.store16 offset=44 - local.get $0 + local.get $1 i32.const 0 i32.store offset=48 - local.get $0 + local.get $1 i32.const 0 i32.store offset=52 - local.get $0 + local.get $1 f64.const 0 f64.store offset=56 - local.get $0 + local.get $1 i32.const 0 i32.store8 offset=64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 call $object-literal/testOmittedTypes global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2762,7 +2663,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2781,27 +2682,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - f64.const 0 - f64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2835,7 +2715,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2899,7 +2779,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -2907,131 +2787,71 @@ i32.const 40 i32.const 7 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 call $~lib/object/Object#constructor - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1664 i32.store - local.get $0 + local.get $1 i32.const 1664 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1696 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1696 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=24 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=28 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=32 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const -1 i32.store offset=36 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=20 - local.get $0 + local.get $1 i32.const 0 i32.store offset=8 - local.get $0 + local.get $1 i32.const 0 i32.store offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store offset=16 - local.get $0 + local.get $1 i32.const 0 i32.store offset=20 - local.get $0 + local.get $1 i32.const 0 i32.store offset=24 - local.get $0 + local.get $1 i32.const 0 i32.store offset=28 - local.get $0 + local.get $1 i32.const 0 i32.store offset=32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 call $object-literal/testOmittedFoo i32.const 34516 global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-access.debug.wat b/tests/compiler/resolve-access.debug.wat index 6dc9f58eb4..e2532e7221 100644 --- a/tests/compiler/resolve-access.debug.wat +++ b/tests/compiler/resolve-access.debug.wat @@ -3212,14 +3212,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i64.const 0 - call $resolve-access/Container#set:foo - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-access.release.wat b/tests/compiler/resolve-access.release.wat index 7e043af3e4..39a5ba4027 100644 --- a/tests/compiler/resolve-access.release.wat +++ b/tests/compiler/resolve-access.release.wat @@ -124,7 +124,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$143 + block $__inlined_func$~lib/rt/itcms/Object#unlink$142 local.get $0 i32.load offset=4 i32.const -4 @@ -148,7 +148,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$143 + br $__inlined_func$~lib/rt/itcms/Object#unlink$142 end local.get $0 i32.load offset=8 @@ -2221,12 +2221,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-elementaccess.debug.wat b/tests/compiler/resolve-elementaccess.debug.wat index 77ff64f407..cdf93fc6c9 100644 --- a/tests/compiler/resolve-elementaccess.debug.wat +++ b/tests/compiler/resolve-elementaccess.debug.wat @@ -4433,30 +4433,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -4478,7 +4454,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4487,7 +4463,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -4500,7 +4476,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -4508,7 +4484,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength diff --git a/tests/compiler/resolve-elementaccess.release.wat b/tests/compiler/resolve-elementaccess.release.wat index 5e4a644023..3e819a281a 100644 --- a/tests/compiler/resolve-elementaccess.release.wat +++ b/tests/compiler/resolve-elementaccess.release.wat @@ -176,7 +176,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$153 + block $__inlined_func$~lib/rt/itcms/Object#unlink$151 local.get $0 i32.load offset=4 i32.const -4 @@ -200,7 +200,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$153 + br $__inlined_func$~lib/rt/itcms/Object#unlink$151 end local.get $0 i32.load offset=8 @@ -1600,61 +1600,6 @@ memory.fill local.get $1 ) - (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $1 - if - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1232 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - end - ) (func $~lib/util/number/genDigits (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) @@ -2957,6 +2902,8 @@ ) (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -2988,24 +2935,6 @@ local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 i32.const 1073741820 local.get $1 i32.shr_u @@ -3023,31 +2952,81 @@ i32.const 2 local.get $1 i32.shl - local.tee $2 + local.tee $1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=8 + local.tee $3 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=12 local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $3 + i32.store + local.get $3 + if + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1232 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $3 + i32.const 20 + i32.sub + local.tee $4 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load offset=4 + i32.const 3 + i32.and + local.tee $2 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $4 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $2 + i32.const 3 + i32.eq + i32.and + if + local.get $4 + call $~lib/rt/itcms/Object#makeGray + end + end + end + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 - local.get $1 + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 16 @@ -3272,7 +3251,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$97 + block $__inlined_func$~lib/util/string/compareImpl$95 loop $while-continue|1 local.get $0 local.tee $3 @@ -3292,7 +3271,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$97 + br_if $__inlined_func$~lib/util/string/compareImpl$95 local.get $2 i32.const 2 i32.add diff --git a/tests/compiler/return-unreachable.debug.wat b/tests/compiler/return-unreachable.debug.wat index f66ebe5b52..00fbb971e2 100644 --- a/tests/compiler/return-unreachable.debug.wat +++ b/tests/compiler/return-unreachable.debug.wat @@ -2481,38 +2481,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -2542,7 +2510,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2551,7 +2519,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -2564,7 +2532,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -2572,7 +2540,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -2580,7 +2548,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ diff --git a/tests/compiler/return-unreachable.release.wat b/tests/compiler/return-unreachable.release.wat index 3e068205cc..b4e44c5db6 100644 --- a/tests/compiler/return-unreachable.release.wat +++ b/tests/compiler/return-unreachable.release.wat @@ -108,7 +108,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$121 + block $__inlined_func$~lib/rt/itcms/Object#unlink$118 local.get $0 i32.load offset=4 i32.const -4 @@ -132,7 +132,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$121 + br $__inlined_func$~lib/rt/itcms/Object#unlink$118 end local.get $0 i32.load offset=8 @@ -1532,64 +1532,11 @@ memory.fill local.get $1 ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $1 - if - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - end - ) (func $return-unreachable/test (param $0 i32) (result i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1624,59 +1571,85 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer i32.const 400 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=12 local.get $0 local.get $1 - call $~lib/array/Array#set:buffer + i32.store + local.get $1 + if + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1216 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $2 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load offset=4 + i32.const 3 + i32.and + local.tee $4 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $2 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $4 + i32.const 3 + i32.eq + i32.and + if + local.get $2 + call $~lib/rt/itcms/Object#makeGray + end + end + end + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 400 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 100 i32.store offset=12 diff --git a/tests/compiler/rt/issue-2719.debug.wat b/tests/compiler/rt/issue-2719.debug.wat index 2c202baebd..242203cc8f 100644 --- a/tests/compiler/rt/issue-2719.debug.wat +++ b/tests/compiler/rt/issue-2719.debug.wat @@ -2242,11 +2242,6 @@ local.get $ptr return ) - (func $rt/issue-2719/issue2719_T#set:v (param $this i32) (param $v i32) - local.get $this - local.get $v - i32.store - ) (func $~lib/rt/itcms/__collect i32.const 0 drop @@ -2293,6 +2288,11 @@ i32.const 0 drop ) + (func $rt/issue-2719/issue2719_T#set:v (param $this i32) (param $v i32) + local.get $this + local.get $v + i32.store + ) (func $rt/issue-2719/issue2719_T#get:v (param $this i32) (result i32) local.get $this i32.load @@ -2395,14 +2395,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $rt/issue-2719/issue2719_T#set:v - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/rt/issue-2719.release.wat b/tests/compiler/rt/issue-2719.release.wat index 376cd994e9..d482c7ab6f 100644 --- a/tests/compiler/rt/issue-2719.release.wat +++ b/tests/compiler/rt/issue-2719.release.wat @@ -117,7 +117,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$119 + block $__inlined_func$~lib/rt/itcms/Object#unlink$118 local.get $1 i32.load offset=4 i32.const -4 @@ -141,7 +141,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$119 + br $__inlined_func$~lib/rt/itcms/Object#unlink$118 end local.get $1 i32.load offset=8 @@ -1759,12 +1759,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/array.debug.wat b/tests/compiler/std/array.debug.wat index 76974815e0..d0fa098e06 100644 --- a/tests/compiler/std/array.debug.wat +++ b/tests/compiler/std/array.debug.wat @@ -10094,38 +10094,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -10155,7 +10123,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10164,7 +10132,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -10177,7 +10145,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -10185,7 +10153,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -10193,7 +10161,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -10265,30 +10233,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -10310,7 +10254,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10319,7 +10263,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -10332,7 +10276,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -10340,7 +10284,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -16149,22 +16093,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $std/array/Dim#set:height - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $std/array/Dim#set:width - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -20748,38 +20676,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -20809,7 +20705,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -20818,7 +20714,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -20831,7 +20727,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array<~lib/array/Array>#set:dataStart @@ -20839,7 +20735,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/array/Array>#set:byteLength @@ -20847,7 +20743,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array<~lib/array/Array>#set:length_ @@ -22483,38 +22379,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array>#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array>#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array>#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -22544,7 +22408,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -22553,7 +22417,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -22566,7 +22430,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array>#set:dataStart @@ -22574,7 +22438,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array>#set:byteLength @@ -22582,7 +22446,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array>#set:length_ @@ -26079,38 +25943,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -26140,7 +25972,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -26149,7 +25981,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -26162,7 +25994,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -26170,7 +26002,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -26178,7 +26010,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array<~lib/string/String>#set:length_ diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index 22943cdb01..0e2e8ebb13 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -11,9 +11,9 @@ (type $9 (func (param i32 i32 i32 i32))) (type $10 (func (param i32 i32 i32 i32 i32))) (type $11 (func)) - (type $12 (func (result f64))) - (type $13 (func (param i32 i32 i32 i32 i32 i32))) - (type $14 (func (result i32))) + (type $12 (func (result i32))) + (type $13 (func (result f64))) + (type $14 (func (param i32 i32 i32 i32 i32 i32))) (type $15 (func (param i32 i32 i32) (result f32))) (type $16 (func (param i32 f64) (result i32))) (type $17 (func (param i32 i64) (result i32))) @@ -758,7 +758,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$731 + block $__inlined_func$~lib/rt/itcms/Object#unlink$711 local.get $0 i32.load offset=4 i32.const -4 @@ -782,7 +782,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$731 + br $__inlined_func$~lib/rt/itcms/Object#unlink$711 end local.get $0 i32.load offset=8 @@ -6423,34 +6423,6 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=12 local.get $0 i32.const 268435455 i32.gt_u @@ -6475,10 +6447,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 @@ -6491,19 +6463,19 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 local.get $1 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 local.get $1 local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 local.get $1 local.get $0 i32.store offset=12 @@ -6896,7 +6868,7 @@ i32.lt_s select local.set $0 - block $__inlined_func$~lib/util/bytes/FILL$139 + block $__inlined_func$~lib/util/bytes/FILL$132 local.get $1 i32.eqz local.get $1 @@ -6921,7 +6893,7 @@ i32.shl memory.fill end - br $__inlined_func$~lib/util/bytes/FILL$139 + br $__inlined_func$~lib/util/bytes/FILL$132 end loop $for-loop|0 local.get $0 @@ -7191,7 +7163,7 @@ i32.lt_s select local.set $0 - block $__inlined_func$~lib/util/bytes/FILL$148 + block $__inlined_func$~lib/util/bytes/FILL$141 local.get $1 i32.reinterpret_f32 i32.eqz @@ -7213,7 +7185,7 @@ i32.shl memory.fill end - br $__inlined_func$~lib/util/bytes/FILL$148 + br $__inlined_func$~lib/util/bytes/FILL$141 end loop $for-loop|0 local.get $0 @@ -7593,7 +7565,7 @@ select local.set $1 end - block $__inlined_func$~lib/rt/itcms/__renew$653 + block $__inlined_func$~lib/rt/itcms/__renew$632 local.get $3 i32.const 20 i32.sub @@ -7611,7 +7583,7 @@ i32.store offset=16 local.get $3 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew$653 + br $__inlined_func$~lib/rt/itcms/__renew$632 end local.get $1 local.get $4 @@ -11032,18 +11004,6 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -13086,7 +13046,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - block $__inlined_func$std/array/isSorted$658 (result i32) + block $__inlined_func$std/array/isSorted$637 (result i32) global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 @@ -13154,7 +13114,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isSorted$658 + br $__inlined_func$std/array/isSorted$637 end local.get $0 i32.const 1 @@ -14391,7 +14351,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - block $__inlined_func$std/array/isSorted<~lib/array/Array>$660 (result i32) + block $__inlined_func$std/array/isSorted<~lib/array/Array>$640 (result i32) global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 @@ -14474,7 +14434,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isSorted<~lib/array/Array>$660 + br $__inlined_func$std/array/isSorted<~lib/array/Array>$640 end local.get $1 i32.const 1 @@ -14901,7 +14861,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$736 + block $__inlined_func$~lib/string/String#concat$716 local.get $1 i32.const 20 i32.sub @@ -14920,7 +14880,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/string/String#concat$736 + br $__inlined_func$~lib/string/String#concat$716 end global.get $~lib/memory/__stack_pointer local.get $0 @@ -14957,114 +14917,9 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - local.get $1 - local.get $2 - i32.gt_s - select - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - i32.const 1 - i32.shl - local.set $3 - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.ge_s - select - i32.const 1 - i32.shl - local.tee $4 - local.get $3 - i32.sub - local.tee $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11568 - return - end - local.get $3 - i32.eqz - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.eq - i32.and - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $1 - local.get $0 - local.get $3 - i32.add - local.get $2 - memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/array/createRandomStringArray (result i32) + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15072,7 +14927,7 @@ (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -15081,25 +14936,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.set $6 + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=12 - local.set $0 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -15109,21 +14953,374 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$738 - local.get $0 - i32.const 1 - i32.sub - local.tee $7 - i32.const 0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1600 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=12 + local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 1600 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 400 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + loop $for-loop|0 + local.get $3 + i32.const 400 i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add + local.get $0 + i32.store offset=4 + call $~lib/math/NativeMath.random + f64.const 32 + f64.mul + i32.trunc_sat_f64_s + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub global.set $~lib/memory/__stack_pointer - i32.const 11568 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 11568 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 11568 + i32.store + i32.const 0 + local.set $4 + loop $for-loop|00 + local.get $4 + local.get $6 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + call $~lib/math/NativeMath.random + i32.const 10028 + i32.load + i32.const 1 + i32.shr_u + f64.convert_i32_s + f64.mul + f64.floor + i32.trunc_sat_f64_s + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 10032 + i32.store + block $__inlined_func$~lib/string/String#charAt$717 + local.get $5 + i32.const 10028 + i32.load + i32.const 1 + i32.shr_u + i32.ge_u + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + local.set $1 + br $__inlined_func$~lib/string/String#charAt$717 + end + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + local.get $1 + local.get $5 + i32.const 1 + i32.shl + i32.const 10032 + i32.add + i32.load16_u + i32.store16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $2 + local.get $1 + call $~lib/string/String.__concat + local.tee $2 + i32.store + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $0 + local.get $3 + local.get $2 + call $~lib/array/Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $2 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $1 + local.get $2 + i32.gt_s + select + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.le_s + select + i32.const 1 + i32.shl + local.set $3 + local.get $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.ge_s + select + i32.const 1 + i32.shl + local.tee $4 + local.get $3 + i32.sub + local.tee $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + return + end + local.get $3 + i32.eqz + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.eq + i32.and + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + local.get $1 + local.get $0 + local.get $3 + i32.add + local.get $2 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=12 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$718 + local.get $0 + i32.const 1 + i32.sub + local.tee $7 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$738 + br $__inlined_func$~lib/util/string/joinIntegerArray$718 end local.get $7 i32.eqz @@ -15136,7 +15333,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$738 + br $__inlined_func$~lib/util/string/joinIntegerArray$718 end global.get $~lib/memory/__stack_pointer local.get $1 @@ -15235,7 +15432,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$738 + br $__inlined_func$~lib/util/string/joinIntegerArray$718 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -15301,7 +15498,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$739 + block $__inlined_func$~lib/util/string/joinIntegerArray$719 local.get $0 i32.const 1 i32.sub @@ -15315,7 +15512,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$739 + br $__inlined_func$~lib/util/string/joinIntegerArray$719 end local.get $7 i32.eqz @@ -15328,7 +15525,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$739 + br $__inlined_func$~lib/util/string/joinIntegerArray$719 end global.get $~lib/memory/__stack_pointer local.get $1 @@ -15427,7 +15624,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$739 + br $__inlined_func$~lib/util/string/joinIntegerArray$719 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -16206,7 +16403,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$740 + block $__inlined_func$~lib/util/string/joinIntegerArray$720 local.get $0 i32.const 1 i32.sub @@ -16220,7 +16417,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$740 + br $__inlined_func$~lib/util/string/joinIntegerArray$720 end local.get $6 i32.eqz @@ -16233,7 +16430,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$740 + br $__inlined_func$~lib/util/string/joinIntegerArray$720 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -16326,7 +16523,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$740 + br $__inlined_func$~lib/util/string/joinIntegerArray$720 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -16402,7 +16599,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $__inlined_func$~lib/util/number/utoa64$485 + block $__inlined_func$~lib/util/number/utoa64$464 local.get $3 i64.eqz if @@ -16412,7 +16609,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7712 local.set $1 - br $__inlined_func$~lib/util/number/utoa64$485 + br $__inlined_func$~lib/util/number/utoa64$464 end local.get $3 i64.const 4294967295 @@ -16751,7 +16948,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$743 + block $__inlined_func$~lib/util/string/joinIntegerArray$723 local.get $0 i32.const 1 i32.sub @@ -16765,7 +16962,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$743 + br $__inlined_func$~lib/util/string/joinIntegerArray$723 end local.get $6 i32.eqz @@ -16778,7 +16975,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$743 + br $__inlined_func$~lib/util/string/joinIntegerArray$723 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -16871,7 +17068,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$743 + br $__inlined_func$~lib/util/string/joinIntegerArray$723 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -17359,17 +17556,16 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 f64) - (local $7 f32) + (local $4 i64) + (local $5 f64) + (local $6 f32) + (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 444 i32.sub @@ -17420,9 +17616,9 @@ global.set $std/array/arr i32.const 0 call $std/array/Ref#constructor - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 @@ -17439,11 +17635,11 @@ i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 16 @@ -17459,87 +17655,65 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - local.get $2 + local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store offset=12 - local.get $2 - local.get $9 + local.get $0 + local.get $8 i32.store - local.get $2 - local.get $9 + local.get $0 + local.get $8 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $9 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $0 + i32.store offset=8 + local.get $0 i32.const 1 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.eqz if i32.const 0 @@ -17555,30 +17729,30 @@ i32.const 7 i32.const 1696 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1728 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17590,28 +17764,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1760 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17623,27 +17797,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1792 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17655,28 +17829,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 2 i32.const -2 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1824 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17688,27 +17862,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1856 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17720,28 +17894,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const -1 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1888 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17758,30 +17932,30 @@ i32.const 8 i32.const 1920 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 1968 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17793,28 +17967,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2016 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17826,27 +18000,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2064 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17858,28 +18032,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 2 i32.const -2 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2112 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17891,27 +18065,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2160 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17923,28 +18097,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const -1 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2208 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17961,30 +18135,30 @@ i32.const 9 i32.const 2256 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 f32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2304 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -17996,28 +18170,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 f32.const 0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2352 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -18029,27 +18203,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 f32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2400 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -18061,28 +18235,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 f32.const 2 i32.const -2 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2448 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -18094,27 +18268,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 f32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2496 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -18126,28 +18300,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 f32.const -1 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2544 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -18159,28 +18333,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 f32.const -0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2592 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $std/array/isArraysEqual i32.eqz if @@ -18193,9 +18367,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length if i32.const 0 @@ -18207,9 +18381,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18223,16 +18397,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 42 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -18247,9 +18421,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 1 i32.ne @@ -18263,9 +18437,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18279,9 +18453,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#pop i32.const 42 i32.ne @@ -18295,9 +18469,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length if i32.const 0 @@ -18309,9 +18483,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18325,16 +18499,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 43 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 1 i32.ne @@ -18348,9 +18522,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18364,9 +18538,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18381,16 +18555,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 44 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 2 i32.ne @@ -18404,9 +18578,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18420,9 +18594,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18437,9 +18611,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18454,16 +18628,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 45 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -18477,9 +18651,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18493,9 +18667,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18510,9 +18684,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18527,9 +18701,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -18549,22 +18723,22 @@ i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $8 + local.tee $7 i32.store offset=20 - local.get $8 + local.get $7 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $8 + local.get $7 i32.const 1 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $8 + local.get $7 i32.store offset=24 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -18577,14 +18751,14 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $8 + local.get $7 i32.const 0 i32.const 0 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 0 i32.store offset=12 global.get $~lib/memory/__stack_pointer @@ -18592,9 +18766,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#get:length if i32.const 0 @@ -18610,12 +18784,12 @@ i32.const 4 i32.const 2688 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=28 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#at i32.const 1 @@ -18629,9 +18803,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 3 call $~lib/array/Array#at i32.const 4 @@ -18645,9 +18819,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const -1 call $~lib/array/Array#at i32.const 4 @@ -18661,9 +18835,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const -4 call $~lib/array/Array#at i32.const 1 @@ -18679,26 +18853,26 @@ global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/array/Array#constructor - local.tee $2 + local.tee $0 i32.store offset=32 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $8 - local.get $2 + local.get $7 + local.get $0 call $~lib/array/Array#concat - local.tee $8 + local.tee $7 i32.store offset=36 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $9 + local.tee $8 i32.store - local.get $9 + local.get $8 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18712,9 +18886,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $9 + local.tee $8 i32.store - local.get $9 + local.get $8 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -18727,9 +18901,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -18742,26 +18916,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 2736 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 call $~lib/array/Array#concat drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $9 + local.tee $8 i32.store - local.get $9 + local.get $8 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18774,9 +18948,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18790,9 +18964,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18806,9 +18980,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -18822,35 +18996,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 46 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.const 47 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $8 - local.get $2 + local.get $7 + local.get $0 call $~lib/array/Array#concat - local.tee $8 + local.tee $7 i32.store offset=36 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $9 + local.tee $8 i32.store - local.get $9 + local.get $8 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18863,9 +19037,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 2 i32.ne @@ -18878,9 +19052,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#get:length i32.const 5 i32.ne @@ -18893,9 +19067,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18909,9 +19083,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18925,9 +19099,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -18941,9 +19115,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 3 call $~lib/array/Array#__get i32.const 46 @@ -18957,9 +19131,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 i32.const 4 call $~lib/array/Array#__get i32.const 47 @@ -18973,15 +19147,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -18999,12 +19173,12 @@ i32.const 4 i32.const 2768 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=40 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length if i32.const 0 @@ -19015,22 +19189,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 + local.tee $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $8 + local.get $0 + local.get $7 call $~lib/array/Array#concat - local.tee $8 + local.tee $7 i32.store offset=36 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -19043,9 +19217,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length if i32.const 0 @@ -19061,32 +19235,32 @@ i32.const 4 i32.const 2800 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 0 i32.const 3 call $~lib/array/Array#copyWithin@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 2848 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19104,32 +19278,32 @@ i32.const 4 i32.const 2896 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 1 i32.const 3 call $~lib/array/Array#copyWithin@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 2944 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19147,32 +19321,32 @@ i32.const 4 i32.const 2992 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 1 i32.const 2 call $~lib/array/Array#copyWithin@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3040 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19190,32 +19364,32 @@ i32.const 4 i32.const 3088 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 2 i32.const 2 call $~lib/array/Array#copyWithin@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3136 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19233,31 +19407,31 @@ i32.const 4 i32.const 3184 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 - local.get $2 + local.get $0 i32.const 0 i32.const 3 i32.const 4 call $~lib/array/Array#copyWithin - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3232 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19275,31 +19449,31 @@ i32.const 4 i32.const 3280 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 - local.get $2 + local.get $0 i32.const 1 i32.const 3 i32.const 4 call $~lib/array/Array#copyWithin - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3328 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19317,31 +19491,31 @@ i32.const 4 i32.const 3376 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 - local.get $2 + local.get $0 i32.const 1 i32.const 2 i32.const 4 call $~lib/array/Array#copyWithin - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3424 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19359,32 +19533,32 @@ i32.const 4 i32.const 3472 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 0 i32.const -2 call $~lib/array/Array#copyWithin@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3520 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19402,31 +19576,31 @@ i32.const 4 i32.const 3568 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 - local.get $2 + local.get $0 i32.const 0 i32.const -2 i32.const -1 call $~lib/array/Array#copyWithin - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3616 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19444,31 +19618,31 @@ i32.const 4 i32.const 3664 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 - local.get $2 + local.get $0 i32.const -4 i32.const -3 i32.const -2 call $~lib/array/Array#copyWithin - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3712 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19486,31 +19660,31 @@ i32.const 4 i32.const 3760 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 - local.get $2 + local.get $0 i32.const -4 i32.const -3 i32.const -1 call $~lib/array/Array#copyWithin - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3808 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19528,32 +19702,32 @@ i32.const 4 i32.const 3856 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const -4 i32.const -3 call $~lib/array/Array#copyWithin@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3904 call $~lib/rt/__newArray - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19567,16 +19741,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 42 call $~lib/array/Array#unshift global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -19590,9 +19764,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19606,9 +19780,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -19623,9 +19797,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -19640,9 +19814,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -19657,9 +19831,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -19674,16 +19848,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 41 call $~lib/array/Array#unshift global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 5 i32.ne @@ -19697,9 +19871,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19713,9 +19887,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 41 @@ -19730,9 +19904,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 42 @@ -19747,9 +19921,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 43 @@ -19764,9 +19938,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 3 call $~lib/array/Array#__get i32.const 44 @@ -19781,9 +19955,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 4 call $~lib/array/Array#__get i32.const 45 @@ -19798,7 +19972,7 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -19812,11 +19986,11 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.load offset=12 - local.tee $8 + local.tee $7 i32.const 0 i32.le_s if @@ -19828,34 +20002,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.load offset=4 - local.tee $9 + local.tee $8 i32.load - local.get $9 - local.get $9 + local.get $8 + local.get $8 i32.const 4 i32.add - local.get $8 + local.get $7 i32.const 1 i32.sub - local.tee $8 + local.tee $7 i32.const 2 i32.shl - local.tee $11 + local.tee $10 memory.copy - local.get $9 - local.get $11 + local.get $8 + local.get $10 i32.add i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - local.get $8 + local.get $0 + local.get $7 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -19875,9 +20049,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -19891,9 +20065,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19907,9 +20081,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -19924,9 +20098,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -19941,9 +20115,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -19958,9 +20132,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -19975,9 +20149,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#pop global.set $std/array/i global.get $std/array/i @@ -19993,9 +20167,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -20009,9 +20183,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -20025,9 +20199,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -20042,9 +20216,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -20059,9 +20233,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -20080,33 +20254,33 @@ i32.const 4 i32.const 3952 call $~lib/rt/__newArray - local.tee $2 + local.tee $0 i32.store offset=52 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#slice@varargs - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 3 i32.const 2 i32.const 4 i32.const 4000 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20119,29 +20293,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 2 i32.const 4 call $~lib/array/Array#slice - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4032 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20154,29 +20328,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 1 i32.const 5 call $~lib/array/Array#slice - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 4 i32.const 2 i32.const 4 i32.const 4064 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20189,24 +20363,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#slice@varargs - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=8 - local.get $8 - local.get $2 + local.get $7 + local.get $0 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20219,30 +20393,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const -2 call $~lib/array/Array#slice@varargs - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4112 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20255,29 +20429,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 2 i32.const -1 call $~lib/array/Array#slice - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4144 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20290,29 +20464,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const -3 i32.const -1 call $~lib/array/Array#slice - local.tee $8 + local.tee $7 i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4176 call $~lib/rt/__newArray - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=8 + local.get $7 local.get $8 - local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20325,17 +20499,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=8 - local.get $2 + local.get $0 i32.const -1 i32.const -3 call $~lib/array/Array#slice - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $~lib/array/Array#get:length if i32.const 0 @@ -20346,18 +20520,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store offset=8 i32.const 1 global.set $~argumentsLength - local.get $2 + local.get $0 i32.const 10 call $~lib/array/Array#slice@varargs - local.set $2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length if i32.const 0 @@ -20369,7 +20543,7 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -20383,59 +20557,59 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.load offset=4 - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 i32.load offset=12 - local.tee $2 + local.tee $0 i32.const 1 i32.gt_u if - local.get $2 + local.get $0 i32.const 1 i32.shr_u - local.set $9 - local.get $2 + local.set $8 + local.get $0 i32.const 1 i32.sub - local.set $2 + local.set $0 loop $while-continue|0 - local.get $4 - local.get $9 + local.get $3 + local.get $8 i32.lt_u if - local.get $8 - local.get $4 + local.get $7 + local.get $3 i32.const 2 i32.shl i32.add - local.tee $10 + local.tee $9 i32.load - local.set $11 - local.get $10 - local.get $8 - local.get $2 - local.get $4 + local.set $10 + local.get $9 + local.get $7 + local.get $0 + local.get $3 i32.sub i32.const 2 i32.shl i32.add - local.tee $10 + local.tee $9 i32.load i32.store + local.get $9 local.get $10 - local.get $11 i32.store - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $while-continue|0 end end @@ -20446,9 +20620,9 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -20462,9 +20636,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 call $std/array/internalCapacity i32.const 8 i32.ne @@ -20478,9 +20652,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/array/Array#__get i32.const 44 @@ -20495,9 +20669,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -20512,9 +20686,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 2 call $~lib/array/Array#__get i32.const 42 @@ -20529,16 +20703,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 43 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 44 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer @@ -20547,37 +20721,37 @@ i32.const 7 i32.const 4208 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 call $~lib/array/Array#reverse - local.tee $2 + local.tee $0 i32.store offset=60 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|0 - local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 local.get $0 + local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - call $~lib/array/Array#get:length local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.sub i32.const 1 i32.sub @@ -20590,10 +20764,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -20603,39 +20777,39 @@ i32.const 7 i32.const 4240 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#reverse - local.tee $2 + local.tee $0 i32.store offset=64 i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|1 - local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 local.get $0 + local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - call $~lib/array/Array#get:length local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.sub i32.const 1 i32.sub @@ -20648,10 +20822,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end @@ -20661,39 +20835,39 @@ i32.const 7 i32.const 4272 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#reverse - local.tee $2 + local.tee $0 i32.store offset=68 i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|2 - local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 local.get $0 + local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - call $~lib/array/Array#get:length local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.sub i32.const 1 i32.sub @@ -20706,10 +20880,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|2 end end @@ -20719,39 +20893,39 @@ i32.const 11 i32.const 4320 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#reverse - local.tee $2 + local.tee $0 i32.store offset=72 i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|3 - local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 local.get $0 + local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - call $~lib/array/Array#get:length local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.sub i32.const 1 i32.sub @@ -20764,10 +20938,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end @@ -20777,39 +20951,39 @@ i32.const 11 i32.const 4368 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#reverse - local.tee $2 + local.tee $0 i32.store offset=76 i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|4 - local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 local.get $0 + local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - call $~lib/array/Array#get:length local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.sub i32.const 1 i32.sub @@ -20822,10 +20996,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end @@ -20835,39 +21009,39 @@ i32.const 11 i32.const 4416 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#reverse - local.tee $2 + local.tee $0 i32.store offset=80 i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 + local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|5 - local.get $0 - local.get $4 + local.get $1 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 local.get $0 + local.get $1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.store - local.get $2 - call $~lib/array/Array#get:length local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.sub i32.const 1 i32.sub @@ -20880,10 +21054,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|5 end end @@ -21090,9 +21264,9 @@ i32.const 9 i32.const 4464 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 local.set $0 @@ -21108,14 +21282,14 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - block $__inlined_func$~lib/array/Array#indexOf$714 - local.get $2 + block $__inlined_func$~lib/array/Array#indexOf$696 + local.get $1 i32.load offset=12 - local.tee $4 + local.tee $3 i32.eqz - local.get $4 + local.get $3 i32.const 0 i32.le_s i32.or @@ -21126,20 +21300,20 @@ global.set $~lib/memory/__stack_pointer i32.const -1 local.set $0 - br $__inlined_func$~lib/array/Array#indexOf$714 + br $__inlined_func$~lib/array/Array#indexOf$696 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.set $2 + local.set $1 loop $while-continue|05 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $2 + local.get $1 local.get $0 i32.const 2 i32.shl @@ -21152,7 +21326,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/array/Array#indexOf$714 + br $__inlined_func$~lib/array/Array#indexOf$696 end local.get $0 i32.const 1 @@ -21184,9 +21358,9 @@ i32.const 12 i32.const 4496 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 local.set $0 @@ -21202,14 +21376,14 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - block $__inlined_func$~lib/array/Array#indexOf$715 - local.get $2 + block $__inlined_func$~lib/array/Array#indexOf$697 + local.get $1 i32.load offset=12 - local.tee $4 + local.tee $3 i32.eqz - local.get $4 + local.get $3 i32.const 0 i32.le_s i32.or @@ -21220,20 +21394,20 @@ global.set $~lib/memory/__stack_pointer i32.const -1 local.set $0 - br $__inlined_func$~lib/array/Array#indexOf$715 + br $__inlined_func$~lib/array/Array#indexOf$697 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.set $2 + local.set $1 loop $while-continue|07 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl @@ -21246,7 +21420,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/array/Array#indexOf$715 + br $__inlined_func$~lib/array/Array#indexOf$697 end local.get $0 i32.const 1 @@ -21557,15 +21731,15 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#includes$716 (result i32) + block $__inlined_func$~lib/array/Array#includes$698 (result i32) i32.const 1 i32.const 2 i32.const 9 i32.const 4576 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 local.set $0 @@ -21581,13 +21755,13 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=12 - local.tee $4 + local.tee $3 i32.eqz - local.get $4 + local.get $3 i32.const 0 i32.le_s i32.or @@ -21597,27 +21771,27 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$~lib/array/Array#includes$716 + br $__inlined_func$~lib/array/Array#includes$698 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.set $2 + local.set $1 loop $while-continue|09 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $2 + local.get $1 local.get $0 i32.const 2 i32.shl i32.add f32.load - local.tee $7 - local.get $7 + local.tee $6 + local.get $6 f32.ne if global.get $~lib/memory/__stack_pointer @@ -21625,7 +21799,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1 - br $__inlined_func$~lib/array/Array#includes$716 + br $__inlined_func$~lib/array/Array#includes$698 end local.get $0 i32.const 1 @@ -21649,15 +21823,15 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#includes$717 (result i32) + block $__inlined_func$~lib/array/Array#includes$699 (result i32) i32.const 1 i32.const 3 i32.const 12 i32.const 4608 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 local.set $0 @@ -21673,13 +21847,13 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=12 - local.tee $4 + local.tee $3 i32.eqz - local.get $4 + local.get $3 i32.const 0 i32.le_s i32.or @@ -21689,27 +21863,27 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$~lib/array/Array#includes$717 + br $__inlined_func$~lib/array/Array#includes$699 end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.set $2 + local.set $1 loop $while-continue|011 local.get $0 - local.get $4 + local.get $3 i32.lt_s if - local.get $2 + local.get $1 local.get $0 i32.const 3 i32.shl i32.add f64.load - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 f64.ne if global.get $~lib/memory/__stack_pointer @@ -21717,7 +21891,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1 - br $__inlined_func$~lib/array/Array#includes$717 + br $__inlined_func$~lib/array/Array#includes$699 end local.get $0 i32.const 1 @@ -21832,21 +22006,21 @@ local.get $0 i32.const 0 call $~lib/array/Array#splice@varargs - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 4688 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -21866,12 +22040,12 @@ i32.const 4 i32.const 4736 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -21898,21 +22072,21 @@ i32.const 0 i32.const 0 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 4816 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -21932,12 +22106,12 @@ i32.const 4 i32.const 4848 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -21965,21 +22139,21 @@ local.get $0 i32.const 2 call $~lib/array/Array#splice@varargs - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 3 i32.const 2 i32.const 4 i32.const 4944 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -21999,12 +22173,12 @@ i32.const 4 i32.const 4976 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22031,21 +22205,21 @@ i32.const 2 i32.const 2 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 5056 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22065,12 +22239,12 @@ i32.const 4 i32.const 5088 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22097,21 +22271,21 @@ i32.const 0 i32.const 1 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5168 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22131,12 +22305,12 @@ i32.const 4 i32.const 5200 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22164,21 +22338,21 @@ local.get $0 i32.const -1 call $~lib/array/Array#splice@varargs - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5296 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22198,12 +22372,12 @@ i32.const 4 i32.const 5328 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22231,21 +22405,21 @@ local.get $0 i32.const -2 call $~lib/array/Array#splice@varargs - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 5424 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22265,12 +22439,12 @@ i32.const 4 i32.const 5456 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22297,21 +22471,21 @@ i32.const -2 i32.const 1 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5536 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22331,12 +22505,12 @@ i32.const 4 i32.const 5568 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22363,21 +22537,21 @@ i32.const -7 i32.const 1 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5664 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22397,12 +22571,12 @@ i32.const 4 i32.const 5696 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22429,21 +22603,21 @@ i32.const -2 i32.const -1 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 5792 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22463,12 +22637,12 @@ i32.const 4 i32.const 5824 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22495,21 +22669,21 @@ i32.const 1 i32.const -2 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 5920 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22529,12 +22703,12 @@ i32.const 4 i32.const 5952 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22561,21 +22735,21 @@ i32.const 4 i32.const 0 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 6048 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22595,12 +22769,12 @@ i32.const 4 i32.const 6080 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22627,21 +22801,21 @@ i32.const 7 i32.const 0 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 6176 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22661,12 +22835,12 @@ i32.const 4 i32.const 6208 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22693,21 +22867,21 @@ i32.const 7 i32.const 5 call $~lib/array/Array#splice - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 6304 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $2 - local.get $4 + local.get $1 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22727,12 +22901,12 @@ i32.const 4 i32.const 6336 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22759,12 +22933,12 @@ local.get $0 i32.const 1 call $~lib/array/Array#splice - local.tee $2 + local.tee $1 i32.store offset=96 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#get:length if i32.const 0 @@ -22794,40 +22968,40 @@ i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store offset=100 - local.get $2 + local.get $1 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 3 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 3 i32.const 4 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 4 i32.const 5 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.store offset=92 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 2 call $~lib/array/Array#splice local.tee $0 @@ -22853,11 +23027,11 @@ local.get $0 i32.const 0 call $~lib/array/Array#__get - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 i32.load i32.const 3 i32.ne @@ -22892,9 +23066,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -22907,9 +23081,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 0 call $~lib/array/Array#__get local.set $0 @@ -22929,9 +23103,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 1 call $~lib/array/Array#__get local.set $0 @@ -22951,9 +23125,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 - local.get $2 + local.get $1 i32.const 2 call $~lib/array/Array#__get local.set $0 @@ -22979,27 +23153,27 @@ i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store offset=104 - local.get $2 + local.get $1 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 0 call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.store offset=108 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 @@ -23013,98 +23187,98 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=12 - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 i32.const 0 i32.le_s select - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 1 - local.get $4 - local.get $8 + local.get $3 + local.get $7 i32.sub - local.tee $9 - local.get $9 + local.tee $8 + local.get $8 i32.const 1 i32.gt_s select - local.tee $9 + local.tee $8 i32.const 0 - local.get $9 + local.get $8 i32.const 0 i32.gt_s select - local.tee $9 + local.tee $8 i32.const 2 i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $10 + local.tee $9 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store - local.get $10 + local.get $9 i32.load offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.load offset=4 - local.tee $11 - local.get $8 + local.tee $10 + local.get $7 i32.const 2 i32.shl i32.add - local.tee $12 - local.get $9 + local.tee $11 + local.get $8 i32.const 2 i32.shl memory.copy + local.get $7 local.get $8 - local.get $9 i32.add - local.tee $8 - local.get $4 + local.tee $7 + local.get $3 i32.ne if - local.get $12 local.get $11 - local.get $8 + local.get $10 + local.get $7 i32.const 2 i32.shl i32.add - local.get $4 - local.get $8 + local.get $3 + local.get $7 i32.sub i32.const 2 i32.shl memory.copy end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 - local.get $4 - local.get $9 + local.get $1 + local.get $3 + local.get $8 i32.sub i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store offset=112 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store - local.get $10 + local.get $9 call $~lib/array/Array#get:length i32.const 1 i32.ne @@ -23117,10 +23291,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.const 0 call $~lib/array/Array#__get local.tee $0 @@ -23151,9 +23325,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#get:length i32.const 2 i32.ne @@ -23166,9 +23340,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 0 call $~lib/array/Array#__get if @@ -23180,10 +23354,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 1 call $~lib/array/Array#__get local.tee $0 @@ -24078,9 +24252,9 @@ if global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#pop drop local.get $0 @@ -24121,7 +24295,7 @@ global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 9296 @@ -24141,80 +24315,80 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.load offset=12 - local.tee $8 + local.tee $7 i32.const 2 i32.const 16 i32.const 0 call $~lib/rt/__newArray - local.tee $9 + local.tee $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store - local.get $9 + local.get $8 i32.load offset=4 - local.set $10 + local.set $9 i32.const 0 - local.set $4 + local.set $3 loop $for-loop|012 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $4 - local.get $8 - local.get $2 + local.get $3 + local.get $7 + local.get $1 i32.load offset=12 - local.tee $11 - local.get $8 - local.get $11 + local.tee $10 + local.get $7 + local.get $10 i32.lt_s select i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 - local.get $4 + local.get $3 i32.const 2 i32.shl - local.tee $11 - local.get $2 + local.tee $10 + local.get $1 i32.load offset=4 i32.add i32.load - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 3 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $12 - local.get $4 - local.get $2 + local.get $11 + local.get $3 + local.get $1 i32.const 9296 i32.load call_indirect (type $1) - local.tee $12 + local.tee $11 i32.store offset=12 + local.get $9 local.get $10 - local.get $11 i32.add - local.get $12 + local.get $11 i32.store - local.get $9 - local.get $12 + local.get $8 + local.get $11 i32.const 1 call $~lib/rt/itcms/__link - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $for-loop|012 end end @@ -24222,12 +24396,12 @@ i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=128 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 9328 @@ -24247,72 +24421,72 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.load offset=12 - local.tee $8 + local.tee $7 i32.const 2 i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $9 + local.tee $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store - local.get $9 + local.get $8 i32.load offset=4 - local.set $10 + local.set $9 i32.const 0 - local.set $4 + local.set $3 loop $for-loop|013 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $4 - local.get $8 - local.get $2 + local.get $3 + local.get $7 + local.get $1 i32.load offset=12 - local.tee $11 - local.get $8 - local.get $11 + local.tee $10 + local.get $7 + local.get $10 i32.lt_s select i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 - local.get $4 + local.get $3 i32.const 2 i32.shl - local.tee $11 - local.get $2 + local.tee $10 + local.get $1 i32.load offset=4 i32.add i32.load - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 3 global.set $~argumentsLength + local.get $9 local.get $10 - local.get $11 i32.add - local.get $12 - local.get $4 - local.get $2 + local.get $11 + local.get $3 + local.get $1 i32.const 9328 i32.load call_indirect (type $15) f32.store - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $for-loop|013 end end @@ -24320,12 +24494,12 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store offset=132 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store - local.get $9 + local.get $8 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -24338,9 +24512,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store - local.get $9 + local.get $8 i32.const 0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer @@ -25148,26 +25322,26 @@ i64.const -7046029254386353131 call $~lib/bindings/dom/Math.random i64.reinterpret_f64 - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.eqz select - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.const 33 i64.shr_u i64.xor i64.const -49064778989728563 i64.mul - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.const 33 i64.shr_u i64.xor i64.const -4265267296055464877 i64.mul - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.const 33 i64.shr_u i64.xor @@ -25175,22 +25349,22 @@ global.get $~lib/math/random_state0_64 i64.const -1 i64.xor - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.const 33 i64.shr_u i64.xor i64.const -49064778989728563 i64.mul - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.const 33 i64.shr_u i64.xor i64.const -4265267296055464877 i64.mul - local.tee $5 - local.get $5 + local.tee $4 + local.get $4 i64.const 33 i64.shr_u i64.xor @@ -25207,243 +25381,243 @@ i32.store offset=140 global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=144 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 80 i32.store offset=4 local.get $0 i32.const 0 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=148 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 90 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 90 i32.store offset=4 local.get $0 i32.const 1 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=152 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 95 i32.store offset=4 local.get $0 i32.const 2 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=156 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store offset=4 local.get $0 i32.const 3 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=160 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 80 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 110 i32.store offset=4 local.get $0 i32.const 4 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=164 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 110 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 115 i32.store offset=4 local.get $0 i32.const 5 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=168 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 120 i32.store offset=4 local.get $0 i32.const 6 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=172 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 125 i32.store offset=4 local.get $0 i32.const 7 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=176 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 130 i32.store offset=4 local.get $0 i32.const 8 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=180 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 135 i32.store offset=4 local.get $0 i32.const 9 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=184 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 75 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 140 i32.store offset=4 local.get $0 i32.const 10 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=188 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 140 i32.store offset=4 local.get $0 i32.const 11 - local.get $2 + local.get $1 call $~lib/array/Array#__set local.get $0 global.set $std/array/inputStabArr @@ -25457,243 +25631,243 @@ i32.store offset=192 global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=196 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 95 i32.store offset=4 local.get $0 i32.const 0 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=200 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 125 i32.store offset=4 local.get $0 i32.const 1 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=204 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 130 i32.store offset=4 local.get $0 i32.const 2 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=208 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 70 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 140 i32.store offset=4 local.get $0 i32.const 3 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=212 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 75 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 140 i32.store offset=4 local.get $0 i32.const 4 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=216 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 80 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 110 i32.store offset=4 local.get $0 i32.const 5 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=220 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 90 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 90 i32.store offset=4 local.get $0 i32.const 6 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=224 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 80 i32.store offset=4 local.get $0 i32.const 7 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=228 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store offset=4 local.get $0 i32.const 8 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=232 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 120 i32.store offset=4 local.get $0 i32.const 9 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=236 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 100 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 135 i32.store offset=4 local.get $0 i32.const 10 - local.get $2 + local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $2 + local.tee $1 i32.store offset=240 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 110 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 i32.const 115 i32.store offset=4 local.get $0 i32.const 11 - local.get $2 + local.get $1 call $~lib/array/Array#__set local.get $0 global.set $std/array/outputStabArr @@ -25720,12 +25894,12 @@ i32.const 9 i32.const 10288 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -25759,12 +25933,12 @@ i32.const 9 i32.const 10384 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -25781,10 +25955,10 @@ i32.const 12 i32.const 10448 call $~lib/rt/__newArray - local.tee $2 + local.tee $1 i32.store offset=252 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 0 global.set $~argumentsLength @@ -25806,7 +25980,7 @@ i32.const 10544 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 10544 @@ -25823,14 +25997,14 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.load offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=4 - local.get $2 + local.get $1 i32.load offset=12 global.get $~lib/memory/__stack_pointer i32.const 10544 @@ -25845,18 +26019,18 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store i32.const 8 i32.const 3 i32.const 12 i32.const 10576 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - block $__inlined_func$std/array/isArraysEqual$7 (result i32) + block $__inlined_func$std/array/isArraysEqual$6 (result i32) i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer @@ -25871,48 +26045,48 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 call $~lib/array/Array#get:length - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store block $folding-inner1 - block $folding-inner01 - local.get $4 + block $folding-inner00 + local.get $3 call $~lib/array/Array#get:length - local.get $8 + local.get $7 i32.ne - br_if $folding-inner01 - local.get $2 - local.get $4 + br_if $folding-inner00 + local.get $1 + local.get $3 i32.eq br_if $folding-inner1 - loop $for-loop|02 + loop $for-loop|01 local.get $0 - local.get $8 + local.get $7 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 local.get $0 call $~lib/array/Array#__get - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 f64.ne if (result i32) global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 local.get $0 call $~lib/array/Array#__get - local.tee $6 - local.get $6 + local.tee $5 + local.get $5 f64.ne else i32.const 0 @@ -25920,9 +26094,9 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 local.get $0 call $~lib/array/Array#__get i64.reinterpret_f64 @@ -25930,9 +26104,9 @@ i64.shr_u i32.wrap_i64 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 local.get $0 call $~lib/array/Array#__get i64.reinterpret_f64 @@ -25940,29 +26114,29 @@ i64.shr_u i32.wrap_i64 i32.ne - br_if $folding-inner01 + br_if $folding-inner00 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $1 local.get $0 call $~lib/array/Array#__get - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 local.get $0 call $~lib/array/Array#__get - local.get $6 + local.get $5 f64.ne - br_if $folding-inner01 + br_if $folding-inner00 end local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|02 + br $for-loop|01 end end br $folding-inner1 @@ -25972,7 +26146,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isArraysEqual$7 + br $__inlined_func$std/array/isArraysEqual$6 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26041,12 +26215,12 @@ i32.const 4 i32.const 10752 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26135,12 +26309,12 @@ i32.const 8 i32.const 10880 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $std/array/isArraysEqual i32.eqz if @@ -26157,7 +26331,7 @@ i32.const 4 i32.const 10928 call $~lib/rt/__newArray - local.tee $4 + local.tee $3 i32.store offset=264 global.get $~lib/memory/__stack_pointer i32.const 1 @@ -26165,7 +26339,7 @@ i32.const 4 i32.const 10960 call $~lib/rt/__newArray - local.tee $8 + local.tee $7 i32.store offset=268 global.get $~lib/memory/__stack_pointer i32.const 2 @@ -26173,7 +26347,7 @@ i32.const 4 i32.const 10992 call $~lib/rt/__newArray - local.tee $9 + local.tee $8 i32.store offset=272 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26181,7 +26355,7 @@ i32.const 4 i32.const 11024 call $~lib/rt/__newArray - local.tee $10 + local.tee $9 i32.store offset=276 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26189,57 +26363,57 @@ i32.const 4 i32.const 11072 call $~lib/rt/__newArray - local.tee $11 + local.tee $10 i32.store offset=280 global.get $~lib/memory/__stack_pointer i32.const 64 call $std/array/createReverseOrderedArray - local.tee $12 + local.tee $11 i32.store offset=284 global.get $~lib/memory/__stack_pointer i32.const 128 call $std/array/createReverseOrderedArray - local.tee $13 + local.tee $12 i32.store offset=288 global.get $~lib/memory/__stack_pointer i32.const 1024 call $std/array/createReverseOrderedArray - local.tee $14 + local.tee $0 i32.store offset=292 global.get $~lib/memory/__stack_pointer i32.const 10000 call $std/array/createReverseOrderedArray - local.tee $0 + local.tee $1 i32.store offset=296 global.get $~lib/memory/__stack_pointer i32.const 512 call $std/array/createRandomOrderedArray - local.tee $2 + local.tee $13 i32.store offset=300 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store - local.get $8 + local.get $7 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 11152 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $8 - local.get $4 + local.get $7 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26252,24 +26426,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store - local.get $9 + local.get $8 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 11184 call $~lib/rt/__newArray - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $9 - local.get $4 + local.get $8 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26282,18 +26456,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store - local.get $10 + local.get $9 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store offset=8 + local.get $9 local.get $10 - local.get $11 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26306,18 +26480,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $11 i32.store - local.get $12 + local.get $11 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $11 i32.store global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store offset=8 - local.get $12 local.get $11 + local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -26330,18 +26504,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $12 i32.store - local.get $13 + local.get $12 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $12 i32.store global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store offset=8 - local.get $13 - local.get $11 + local.get $12 + local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -26354,18 +26528,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $14 + local.get $0 i32.store - local.get $14 + local.get $0 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $14 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store offset=8 - local.get $14 - local.get $11 + local.get $0 + local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -26378,18 +26552,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $10 i32.store offset=8 - local.get $0 - local.get $11 + local.get $1 + local.get $10 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -26402,9 +26576,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $13 i32.store - local.get $2 + local.get $13 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer i32.const 24 @@ -26455,75 +26629,75 @@ i32.store local.get $0 i32.load offset=12 - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 i32.const 0 i32.le_s select - local.set $8 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $4 - local.get $8 + local.get $3 + local.get $7 i32.sub - local.tee $4 + local.tee $3 i32.const 0 - local.get $4 + local.get $3 i32.const 0 i32.gt_s select - local.tee $4 + local.tee $3 i32.const 2 i32.const 23 i32.const 0 call $~lib/rt/__newArray - local.tee $9 + local.tee $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store - local.get $9 + local.get $8 i32.load offset=4 - local.set $10 + local.set $9 global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=4 - local.get $8 + local.get $7 i32.const 2 i32.shl i32.add - local.set $8 + local.set $7 i32.const 0 local.set $0 - local.get $4 + local.get $3 i32.const 2 i32.shl - local.set $4 - loop $while-continue|06 + local.set $3 + loop $while-continue|04 local.get $0 - local.get $4 + local.get $3 i32.lt_u if local.get $0 - local.get $10 + local.get $9 i32.add local.get $0 - local.get $8 + local.get $7 i32.add i32.load - local.tee $11 + local.tee $10 i32.store - local.get $9 - local.get $11 + local.get $8 + local.get $10 i32.const 1 call $~lib/rt/itcms/__link local.get $0 i32.const 4 i32.add local.set $0 - br $while-continue|06 + br $while-continue|04 end end global.get $~lib/memory/__stack_pointer @@ -26535,28 +26709,30 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store global.get $~lib/memory/__stack_pointer i32.const 11216 i32.store offset=4 - local.get $9 + local.get $8 i32.const 11216 call $~lib/array/Array#sort local.tee $0 i32.store offset=12 i32.const 1 - local.set $4 + local.set $3 + i32.const 0 + local.set $1 global.get $~lib/memory/__stack_pointer global.get $std/array/inputStabArr - local.tee $2 + local.tee $7 i32.store - local.get $2 + local.get $7 call $~lib/array/Array#get:length - local.set $2 + local.set $7 loop $for-loop|014 local.get $1 - local.get $2 + local.get $7 i32.lt_s if block $for-break0 @@ -26607,7 +26783,7 @@ end if i32.const 0 - local.set $4 + local.set $3 br $for-break0 end local.get $1 @@ -26618,7 +26794,7 @@ end end end - local.get $4 + local.get $3 i32.eqz if i32.const 0 @@ -26679,6 +26855,8 @@ i32.const 11344 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -26712,82 +26890,52 @@ i32.const 16 i32.const 29 call $~lib/rt/itcms/__new - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 + local.tee $7 i32.store - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 32 i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store offset=12 - local.get $2 - local.get $4 + local.get $7 + local.get $8 i32.store - local.get $2 - local.get $4 + local.get $7 + local.get $8 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $4 + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $7 + i32.store offset=8 + local.get $7 i32.const 32 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $7 + i32.store offset=8 + local.get $7 i32.const 2 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store - i32.const 0 - local.set $0 - loop $for-loop|015 + loop $for-loop|06 local.get $0 i32.const 2 i32.lt_s @@ -26795,47 +26943,47 @@ global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/array/Array#constructor - local.tee $4 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $4 + local.get $3 i32.const 0 i32.const 1 local.get $0 i32.sub call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=12 - local.get $2 + local.get $7 local.get $0 - local.get $4 + local.get $3 call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 - br $for-loop|015 + br $for-loop|06 end end global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store offset=312 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store global.get $~lib/memory/__stack_pointer i32.const 11376 i32.store offset=8 - local.get $2 + local.get $7 i32.const 11376 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -26872,88 +27020,58 @@ i32.const 16 i32.const 32 call $~lib/rt/itcms/__new - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 + local.tee $3 i32.store - local.get $2 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 2048 i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.store offset=12 - local.get $2 - local.get $4 + local.get $3 + local.get $7 i32.store - local.get $2 - local.get $4 + local.get $3 + local.get $7 i32.const 0 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $4 + local.get $3 + i32.store offset=8 + local.get $3 + local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $3 + i32.store offset=8 + local.get $3 i32.const 2048 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $3 + i32.store offset=8 + local.get $3 i32.const 512 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store - i32.const 0 - local.set $0 - loop $for-loop|06 - local.get $0 + loop $for-loop|08 + local.get $2 i32.const 512 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -26970,14 +27088,14 @@ i32.const 4 i32.const 31 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $1 i32.store offset=4 - local.get $4 + local.get $1 i32.const 511 - local.get $0 + local.get $2 i32.sub i32.store global.get $~lib/memory/__stack_pointer @@ -26985,32 +27103,32 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $1 i32.store offset=8 + local.get $3 local.get $2 - local.get $0 - local.get $4 + local.get $1 call $~lib/array/Array#__set - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|06 + local.set $2 + br $for-loop|08 end end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=316 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer i32.const 11408 i32.store offset=8 - local.get $2 + local.get $3 i32.const 11408 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -27071,7 +27189,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - block $__inlined_func$std/array/isSorted<~lib/string/String|null>$662 (result i32) + block $__inlined_func$std/array/isSorted<~lib/string/String|null>$643 (result i32) global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=8 @@ -27081,9 +27199,9 @@ local.get $0 i32.const 11696 call $~lib/array/Array#sort - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store global.get $~lib/memory/__stack_pointer i32.const 11696 @@ -27105,42 +27223,42 @@ i32.const 1 local.set $1 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store - local.get $4 + local.get $3 call $~lib/array/Array#get:length - local.set $8 - loop $for-loop|07 + local.set $7 + loop $for-loop|069 local.get $1 - local.get $8 + local.get $7 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $4 + local.get $3 local.get $1 i32.const 1 i32.sub call $~lib/array/Array#__get - local.set $9 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $8 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $4 + local.get $3 local.get $1 call $~lib/array/Array#__get - local.set $10 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $9 i32.store offset=4 i32.const 2 global.set $~argumentsLength + local.get $8 local.get $9 - local.get $10 i32.const 11696 i32.load call_indirect (type $0) @@ -27152,13 +27270,13 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isSorted<~lib/string/String|null>$662 + br $__inlined_func$std/array/isSorted<~lib/string/String|null>$643 end local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|07 + br $for-loop|069 end end global.get $~lib/memory/__stack_pointer @@ -27184,7 +27302,7 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 (result i32) + block $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$728 (result i32) global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -27210,367 +27328,121 @@ i32.store local.get $0 call $~lib/array/Array#get:length - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 i32.store local.get $2 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.ne if global.get $~lib/memory/__stack_pointer i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 - end - local.get $0 - local.get $2 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 - end - i32.const 0 - local.set $1 - loop $for-loop|08 - local.get $1 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - local.get $1 - call $~lib/array/Array#__get - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - local.get $1 - call $~lib/array/Array#__get - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $8 - local.get $9 - call $~lib/string/String.__eq - i32.eqz - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|08 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - end - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1184 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $9 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 0 - i32.store - local.get $9 - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 1600 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $9 - local.get $1 - i32.store - local.get $9 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 1600 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 400 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - i32.store - i32.const 0 - local.set $4 - loop $for-loop|019 - local.get $4 - i32.const 400 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - call $~lib/math/NativeMath.random - f64.const 32 - f64.mul - i32.trunc_sat_f64_s - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - i32.const 11568 - local.set $0 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$728 + end + local.get $0 + local.get $2 + i32.eq + if global.get $~lib/memory/__stack_pointer - i32.const 11568 - i32.store - i32.const 0 - local.set $1 - loop $for-loop|00 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$728 + end + i32.const 0 + local.set $1 + loop $for-loop|07 + local.get $1 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 local.get $1 - local.get $10 + call $~lib/array/Array#__get + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 + local.get $1 + call $~lib/array/Array#__get + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $7 + local.get $8 + call $~lib/string/String.__eq + i32.eqz + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer if global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - call $~lib/math/NativeMath.random - i32.const 10028 - i32.load - i32.const 1 - i32.shr_u - f64.convert_i32_s - f64.mul - f64.floor - i32.trunc_sat_f64_s - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 10032 - i32.store - block $__inlined_func$~lib/string/String#charAt$737 - local.get $12 - i32.const 10028 - i32.load - i32.const 1 - i32.shr_u - i32.ge_u - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11568 - local.set $2 - br $__inlined_func$~lib/string/String#charAt$737 - end - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - local.get $12 - i32.const 1 - i32.shl - i32.const 10032 - i32.add - i32.load16_u - i32.store16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $0 - local.get $2 - call $~lib/string/String.__concat - local.tee $0 - i32.store - local.get $1 - i32.const 1 + i32.const 12 i32.add - local.set $1 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + i32.const 0 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$728 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|07 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $9 - local.get $4 - local.get $0 - call $~lib/array/Array#__set - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|019 end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + end + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1184 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + call $std/array/createRandomStringArray + local.tee $0 i32.store offset=328 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $0 i32.store i32.const 1 global.set $~argumentsLength @@ -27592,12 +27464,12 @@ i32.const 11728 i32.store global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11728 i32.store offset=8 - local.get $9 + local.get $0 i32.const 11728 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -27629,20 +27501,20 @@ i32.store local.get $0 i32.load offset=4 - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=12 - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 11856 i32.store i32.const 0 local.set $1 i32.const 0 - local.set $4 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -27654,11 +27526,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinBooleanArray$12 - local.get $0 + block $__inlined_func$~lib/util/string/joinBooleanArray$10 + local.get $2 i32.const 1 i32.sub - local.tee $0 + local.tee $7 i32.const 0 i32.lt_s if @@ -27668,19 +27540,19 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinBooleanArray$12 + br $__inlined_func$~lib/util/string/joinBooleanArray$10 end - block $folding-inner07 - local.get $0 + block $folding-inner010 + local.get $7 i32.eqz if i32.const 11792 i32.const 11824 - local.get $8 + local.get $3 i32.load8_u select local.set $2 - br $folding-inner07 + br $folding-inner010 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -27690,34 +27562,34 @@ i32.load i32.const 1 i32.shr_u - local.tee $9 + local.tee $8 i32.const 5 i32.add - local.get $0 + local.get $7 i32.mul i32.const 5 i32.add - local.tee $10 + local.tee $9 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 - loop $for-loop|18 + loop $for-loop|111 local.get $0 - local.get $4 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $4 - local.get $8 + local.get $0 + local.get $3 i32.add i32.load8_u - local.tee $11 + local.tee $10 i32.eqz i32.const 4 i32.add - local.set $12 + local.set $11 local.get $2 local.get $1 i32.const 1 @@ -27725,17 +27597,17 @@ i32.add i32.const 11792 i32.const 11824 - local.get $11 + local.get $10 select - local.get $12 + local.get $11 i32.const 1 i32.shl memory.copy local.get $1 - local.get $12 + local.get $11 i32.add local.set $1 - local.get $9 + local.get $8 if local.get $2 local.get $1 @@ -27743,31 +27615,31 @@ i32.shl i32.add i32.const 11856 - local.get $9 + local.get $8 i32.const 1 i32.shl memory.copy local.get $1 - local.get $9 + local.get $8 i32.add local.set $1 end - local.get $4 + local.get $0 i32.const 1 i32.add - local.set $4 - br $for-loop|18 + local.set $0 + br $for-loop|111 end end - local.get $0 - local.get $8 + local.get $3 + local.get $7 i32.add i32.load8_u local.tee $0 i32.eqz i32.const 4 i32.add - local.set $4 + local.set $3 local.get $2 local.get $1 i32.const 1 @@ -27777,15 +27649,15 @@ i32.const 11824 local.get $0 select - local.get $4 + local.get $3 i32.const 1 i32.shl memory.copy local.get $1 - local.get $4 + local.get $3 i32.add local.tee $0 - local.get $10 + local.get $9 i32.lt_s if global.get $~lib/memory/__stack_pointer @@ -27795,13 +27667,13 @@ local.get $0 call $~lib/string/String#substring local.set $2 - br $folding-inner07 + br $folding-inner010 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinBooleanArray$12 + br $__inlined_func$~lib/util/string/joinBooleanArray$10 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -28111,7 +27983,7 @@ i32.const 4 i32.const 13984 call $~lib/rt/__newArray - local.tee $4 + local.tee $3 i32.store offset=360 global.get $~lib/memory/__stack_pointer local.get $0 @@ -28177,9 +28049,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.store offset=8 - local.get $4 + local.get $3 call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer @@ -28256,12 +28128,14 @@ i32.const 11 i32.const 14256 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 i32.const 0 local.set $0 + i32.const 0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28274,7 +28148,7 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -28288,17 +28162,17 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=4 - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=12 - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 11856 i32.store @@ -28313,11 +28187,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$741 - local.get $1 + block $__inlined_func$~lib/util/string/joinIntegerArray$721 + local.get $2 i32.const 1 i32.sub - local.tee $1 + local.tee $7 i32.const 0 i32.lt_s if @@ -28327,12 +28201,12 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinIntegerArray$741 + br $__inlined_func$~lib/util/string/joinIntegerArray$721 end - local.get $1 + local.get $7 i32.eqz if - local.get $4 + local.get $3 i32.load16_u call $~lib/util/number/utoa32 local.set $2 @@ -28340,7 +28214,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$741 + br $__inlined_func$~lib/util/string/joinIntegerArray$721 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -28353,7 +28227,7 @@ local.tee $8 i32.const 10 i32.add - local.get $1 + local.get $7 i32.mul i32.const 10 i32.add @@ -28364,18 +28238,18 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 - loop $for-loop|03 + loop $for-loop|02 local.get $1 - local.get $3 - i32.gt_s + local.get $7 + i32.lt_s if local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $4 local.get $3 + local.get $1 i32.const 1 i32.shl i32.add @@ -28401,21 +28275,20 @@ i32.add local.set $0 end - local.get $3 + local.get $1 i32.const 1 i32.add - local.set $3 - br $for-loop|03 + local.set $1 + br $for-loop|02 end end - local.get $9 local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $4 - local.get $1 + local.get $3 + local.get $7 i32.const 1 i32.shl i32.add @@ -28424,7 +28297,8 @@ local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $9 + i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $2 @@ -28437,7 +28311,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$741 + br $__inlined_func$~lib/util/string/joinIntegerArray$721 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -28472,14 +28346,14 @@ i32.const 39 i32.const 14336 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=8 i32.const 0 local.set $0 i32.const 0 - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28492,7 +28366,7 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer i32.const 4 @@ -28506,17 +28380,17 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=4 - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store - local.get $1 + local.get $2 i32.load offset=12 - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 11856 i32.store @@ -28531,11 +28405,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$742 - local.get $1 + block $__inlined_func$~lib/util/string/joinIntegerArray$722 + local.get $2 i32.const 1 i32.sub - local.tee $1 + local.tee $7 i32.const 0 i32.lt_s if @@ -28545,12 +28419,12 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinIntegerArray$742 + br $__inlined_func$~lib/util/string/joinIntegerArray$722 end - local.get $1 + local.get $7 i32.eqz if - local.get $4 + local.get $3 i32.load16_s call $~lib/util/number/itoa32 local.set $2 @@ -28558,7 +28432,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$742 + br $__inlined_func$~lib/util/string/joinIntegerArray$722 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -28571,7 +28445,7 @@ local.tee $8 i32.const 11 i32.add - local.get $1 + local.get $7 i32.mul i32.const 11 i32.add @@ -28582,18 +28456,18 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 - loop $for-loop|05 + loop $for-loop|04 local.get $1 - local.get $3 - i32.gt_s + local.get $7 + i32.lt_s if local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $4 local.get $3 + local.get $1 i32.const 1 i32.shl i32.add @@ -28619,21 +28493,20 @@ i32.add local.set $0 end - local.get $3 + local.get $1 i32.const 1 i32.add - local.set $3 - br $for-loop|05 + local.set $1 + br $for-loop|04 end end - local.get $9 local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $4 - local.get $1 + local.get $3 + local.get $7 i32.const 1 i32.shl i32.add @@ -28642,7 +28515,8 @@ local.get $0 i32.add local.tee $0 - i32.gt_s + local.get $9 + i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $2 @@ -28655,7 +28529,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$742 + br $__inlined_func$~lib/util/string/joinIntegerArray$722 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -28823,7 +28697,7 @@ i32.store local.get $0 i32.load offset=4 - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -28834,9 +28708,9 @@ i32.const 11856 i32.store i32.const 0 - local.set $0 + local.set $1 i32.const 0 - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -28848,11 +28722,11 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$13 + block $__inlined_func$~lib/util/string/joinIntegerArray$11 local.get $2 i32.const 1 i32.sub - local.tee $4 + local.tee $7 i32.const 0 i32.lt_s if @@ -28862,17 +28736,17 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinIntegerArray$13 + br $__inlined_func$~lib/util/string/joinIntegerArray$11 end - block $folding-inner09 - local.get $4 + block $folding-inner012 + local.get $7 i32.eqz if block $__inlined_func$~lib/util/number/itoa64$4 (result i32) - local.get $1 + local.get $3 i64.load i64.extend32_s - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28884,7 +28758,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $5 + local.get $4 i64.eqz if global.get $~lib/memory/__stack_pointer @@ -28895,65 +28769,65 @@ br $__inlined_func$~lib/util/number/itoa64$4 end i64.const 0 - local.get $5 + local.get $4 i64.sub - local.get $5 - local.get $5 + local.get $4 + local.get $4 i64.const 63 i64.shr_u i32.wrap_i64 i32.const 1 i32.shl - local.tee $0 + local.tee $1 select - local.tee $5 + local.tee $4 i64.const 4294967295 i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.wrap_i64 - local.tee $1 + local.tee $2 i32.const 100000 i32.lt_u if (result i32) - local.get $1 + local.get $2 i32.const 100 i32.lt_u if (result i32) - local.get $1 + local.get $2 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $1 + local.get $2 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $1 + local.get $2 i32.const 1000 i32.ge_u i32.add end else - local.get $1 + local.get $2 i32.const 10000000 i32.lt_u if (result i32) - local.get $1 + local.get $2 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $1 + local.get $2 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $1 + local.get $2 i32.const 100000000 i32.ge_u i32.add @@ -28962,89 +28836,89 @@ local.tee $3 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add i32.const 2 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store local.get $0 - local.get $2 - i32.add local.get $1 + i32.add + local.get $2 local.get $3 call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i64.const 1000000000000000 i64.lt_u if (result i32) - local.get $5 + local.get $4 i64.const 1000000000000 i64.lt_u if (result i32) - local.get $5 + local.get $4 i64.const 100000000000 i64.ge_u i32.const 10 i32.add - local.get $5 + local.get $4 i64.const 10000000000 i64.ge_u i32.add else - local.get $5 + local.get $4 i64.const 100000000000000 i64.ge_u i32.const 13 i32.add - local.get $5 + local.get $4 i64.const 10000000000000 i64.ge_u i32.add end else - local.get $5 + local.get $4 i64.const 100000000000000000 i64.lt_u if (result i32) - local.get $5 + local.get $4 i64.const 10000000000000000 i64.ge_u i32.const 16 i32.add else - local.get $5 + local.get $4 i64.const -8446744073709551616 i64.ge_u i32.const 18 i32.add - local.get $5 + local.get $4 i64.const 1000000000000000000 i64.ge_u i32.add end end - local.tee $1 + local.tee $2 i32.const 1 i32.shl - local.get $0 + local.get $1 i32.add i32.const 2 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store local.get $0 - local.get $2 - i32.add - local.get $5 local.get $1 + i32.add + local.get $4 + local.get $2 call $~lib/util/number/utoa64_dec_lut end - local.get $0 + local.get $1 if - local.get $2 + local.get $0 i32.const 45 i32.store16 end @@ -29052,10 +28926,10 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 end local.set $2 - br $folding-inner09 + br $folding-inner012 end global.get $~lib/memory/__stack_pointer i32.const 11856 @@ -29068,7 +28942,7 @@ local.tee $8 i32.const 21 i32.add - local.get $4 + local.get $7 i32.mul i32.const 21 i32.add @@ -29079,30 +28953,30 @@ call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 - loop $for-loop|010 - local.get $3 - local.get $4 + loop $for-loop|015 + local.get $0 + local.get $7 i32.lt_s if local.get $2 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $1 local.get $3 + local.get $0 i32.const 3 i32.shl i32.add i64.load call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add - local.set $0 + local.set $1 local.get $8 if local.get $2 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add @@ -29111,35 +28985,35 @@ i32.const 1 i32.shl memory.copy - local.get $0 + local.get $1 local.get $8 i32.add - local.set $0 + local.set $1 end - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 - br $for-loop|010 + local.set $0 + br $for-loop|015 end end - local.get $9 local.get $2 - local.get $0 + local.get $1 i32.const 1 i32.shl i32.add - local.get $1 - local.get $4 + local.get $3 + local.get $7 i32.const 3 i32.shl i32.add i64.load call $~lib/util/number/itoa_buffered - local.get $0 + local.get $1 i32.add local.tee $0 - i32.gt_s + local.get $9 + i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $2 @@ -29148,13 +29022,13 @@ local.get $0 call $~lib/string/String#substring local.set $2 - br $folding-inner09 + br $folding-inner012 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$13 + br $__inlined_func$~lib/util/string/joinIntegerArray$11 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -29324,7 +29198,7 @@ i32.const 0 i32.const 20 memory.fill - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$14 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$12 local.get $1 i32.const 1 i32.sub @@ -29338,7 +29212,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$14 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$12 end local.get $1 i32.eqz @@ -29363,7 +29237,7 @@ i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$14 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$12 end i32.const 11568 local.set $2 @@ -29377,8 +29251,8 @@ i32.load i32.const 1 i32.shr_u - local.set $4 - loop $for-loop|011 + local.set $7 + loop $for-loop|016 local.get $0 local.get $1 i32.lt_s @@ -29413,7 +29287,7 @@ local.tee $2 i32.store offset=8 end - local.get $4 + local.get $7 if global.get $~lib/memory/__stack_pointer local.get $2 @@ -29432,7 +29306,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|011 + br $for-loop|016 end end global.get $~lib/memory/__stack_pointer @@ -29577,7 +29451,7 @@ i32.const 0 i32.const 20 memory.fill - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$15 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$13 local.get $1 i32.const 1 i32.sub @@ -29591,7 +29465,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$15 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$13 end local.get $1 i32.eqz @@ -29616,7 +29490,7 @@ i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$15 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$13 end i32.const 11568 local.set $2 @@ -29630,8 +29504,8 @@ i32.load i32.const 1 i32.shr_u - local.set $4 - loop $for-loop|016 + local.set $7 + loop $for-loop|017 local.get $0 local.get $1 i32.lt_s @@ -29666,7 +29540,7 @@ local.tee $2 i32.store offset=8 end - local.get $4 + local.get $7 if global.get $~lib/memory/__stack_pointer local.get $2 @@ -29685,7 +29559,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|016 + br $for-loop|017 end end global.get $~lib/memory/__stack_pointer @@ -29834,7 +29708,7 @@ i32.const 0 i32.const 20 memory.fill - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$16 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$14 local.get $1 i32.const 1 i32.sub @@ -29848,7 +29722,7 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $2 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$16 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$14 end local.get $1 i32.eqz @@ -29873,7 +29747,7 @@ i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$16 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$14 end i32.const 11568 local.set $2 @@ -29887,8 +29761,8 @@ i32.load i32.const 1 i32.shr_u - local.set $4 - loop $for-loop|017 + local.set $7 + loop $for-loop|018 local.get $0 local.get $1 i32.lt_s @@ -29923,7 +29797,7 @@ local.tee $2 i32.store offset=8 end - local.get $4 + local.get $7 if global.get $~lib/memory/__stack_pointer local.get $2 @@ -29942,7 +29816,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|017 + br $for-loop|018 end end global.get $~lib/memory/__stack_pointer @@ -30165,7 +30039,7 @@ i32.store local.get $1 i32.load offset=4 - local.set $3 + local.set $7 global.get $~lib/memory/__stack_pointer local.get $1 i32.store @@ -30176,20 +30050,20 @@ local.set $1 i32.const 0 local.set $0 - loop $for-loop|023 + loop $for-loop|021 local.get $0 local.get $8 i32.lt_s if - local.get $3 + local.get $7 local.get $0 i32.const 2 i32.shl i32.add i32.load - local.tee $4 + local.tee $3 if (result i32) - local.get $4 + local.get $3 i32.load offset=12 else i32.const 0 @@ -30201,7 +30075,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|023 + br $for-loop|021 end end global.get $~lib/memory/__stack_pointer @@ -30238,14 +30112,14 @@ i32.const 0 local.set $0 i32.const 0 - local.set $4 - loop $for-loop|124 - local.get $4 + local.set $3 + loop $for-loop|122 + local.get $3 local.get $8 i32.lt_s if + local.get $7 local.get $3 - local.get $4 i32.const 2 i32.shl i32.add @@ -30268,16 +30142,16 @@ i32.add local.set $0 end - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - br $for-loop|124 + local.set $3 + br $for-loop|122 end end i32.const 0 local.set $0 - loop $for-loop|225 + loop $for-loop|223 local.get $0 local.get $1 i32.lt_s @@ -30295,7 +30169,7 @@ i32.const 1 i32.add local.set $0 - br $for-loop|225 + br $for-loop|223 end end global.get $~lib/memory/__stack_pointer @@ -30480,21 +30354,21 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $3 + local.tee $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store - local.get $3 + local.get $7 i32.load offset=4 local.set $8 i32.const 0 - local.set $4 - loop $for-loop|026 + local.set $3 + loop $for-loop|024 global.get $~lib/memory/__stack_pointer local.get $1 i32.store - local.get $4 + local.get $3 local.get $2 local.get $1 i32.load offset=12 @@ -30509,7 +30383,7 @@ local.get $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.const 2 i32.shl local.tee $9 @@ -30526,7 +30400,7 @@ global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $10 - local.get $4 + local.get $3 local.get $1 i32.const 15984 i32.load @@ -30538,15 +30412,15 @@ i32.add local.get $10 i32.store - local.get $3 + local.get $7 local.get $10 i32.const 1 call $~lib/rt/itcms/__link - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 - br $for-loop|026 + local.set $3 + br $for-loop|024 end end global.get $~lib/memory/__stack_pointer @@ -30554,9 +30428,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $7 i32.store - local.get $3 + local.get $7 call $~lib/array/Array<~lib/array/Array>#flat local.tee $0 i32.store offset=440 @@ -30651,12 +30525,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|028 + loop $while-continue|026 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|028 + br $while-continue|026 end end end diff --git a/tests/compiler/std/arraybuffer.debug.wat b/tests/compiler/std/arraybuffer.debug.wat index ed31bd6c6a..e849478fb8 100644 --- a/tests/compiler/std/arraybuffer.debug.wat +++ b/tests/compiler/std/arraybuffer.debug.wat @@ -3024,30 +3024,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -3069,7 +3045,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3078,7 +3054,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -3091,7 +3067,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3099,7 +3075,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -3215,30 +3191,6 @@ local.tee $this i32.store end - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $~lib/dataview/DataView#set:buffer - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $~lib/dataview/DataView#set:dataStart - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $~lib/dataview/DataView#set:byteLength local.get $byteLength i32.const 1073741820 i32.gt_u diff --git a/tests/compiler/std/arraybuffer.release.wat b/tests/compiler/std/arraybuffer.release.wat index 19c0a0192a..8418550f29 100644 --- a/tests/compiler/std/arraybuffer.release.wat +++ b/tests/compiler/std/arraybuffer.release.wat @@ -113,7 +113,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$185 + block $__inlined_func$~lib/rt/itcms/Object#unlink$179 local.get $0 i32.load offset=4 i32.const -4 @@ -137,7 +137,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$185 + br $__inlined_func$~lib/rt/itcms/Object#unlink$179 end local.get $0 i32.load offset=8 @@ -1779,27 +1779,6 @@ local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 i32.const 1073741820 local.get $1 i32.shr_u @@ -1820,10 +1799,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=12 @@ -1835,13 +1814,13 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $2 i32.store offset=8 @@ -2347,27 +2326,6 @@ local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 local.get $0 diff --git a/tests/compiler/std/dataview.debug.wat b/tests/compiler/std/dataview.debug.wat index 9b9e4e7e62..0a9c2964f8 100644 --- a/tests/compiler/std/dataview.debug.wat +++ b/tests/compiler/std/dataview.debug.wat @@ -2671,30 +2671,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -2716,7 +2692,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2725,7 +2701,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -2738,7 +2714,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -2746,7 +2722,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -2865,30 +2841,6 @@ local.tee $this i32.store end - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $~lib/dataview/DataView#set:buffer - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $~lib/dataview/DataView#set:dataStart - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 0 - call $~lib/dataview/DataView#set:byteLength local.get $byteLength i32.const 1073741820 i32.gt_u diff --git a/tests/compiler/std/dataview.release.wat b/tests/compiler/std/dataview.release.wat index d1290df97c..d19ffaa90e 100644 --- a/tests/compiler/std/dataview.release.wat +++ b/tests/compiler/std/dataview.release.wat @@ -121,7 +121,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$221 + block $__inlined_func$~lib/rt/itcms/Object#unlink$217 local.get $0 i32.load offset=4 i32.const -4 @@ -145,7 +145,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$221 + br $__inlined_func$~lib/rt/itcms/Object#unlink$217 end local.get $0 i32.load offset=8 @@ -1705,24 +1705,6 @@ local.tee $3 i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 local.get $0 @@ -3039,11 +3021,11 @@ i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -3083,200 +3065,175 @@ i32.const 1456 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/typedarray/Uint8Array#constructor (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner00 - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner00 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 - local.get $0 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - br $__inlined_func$~lib/typedarray/Uint8Array#constructor - end - br $folding-inner1 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end - local.tee $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=12 + local.get $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 246 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 1 i32.const 224 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 i32.const 88 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 3 i32.const 159 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 4 i32.const 130 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 5 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 6 i32.const 67 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 7 i32.const 95 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.load - local.tee $2 + local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=8 - local.get $2 - local.get $3 local.get $1 + local.get $3 + local.get $0 i32.load offset=8 call $~lib/dataview/DataView#constructor - local.tee $0 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3291,9 +3248,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3308,9 +3265,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3325,9 +3282,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3342,9 +3299,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3359,9 +3316,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3376,9 +3333,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3393,9 +3350,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3410,9 +3367,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3427,9 +3384,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3444,9 +3401,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getFloat64 f64.const 7936550095674706383278551e126 @@ -3460,9 +3417,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getFloat64 f64.const -411777475818852546741639e241 @@ -3476,9 +3433,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getInt8 i32.const -10 @@ -3492,9 +3449,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getInt8 i32.const -32 @@ -3508,9 +3465,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 call $~lib/dataview/DataView#getInt8 i32.const 88 @@ -3524,9 +3481,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 call $~lib/dataview/DataView#getInt8 i32.const -97 @@ -3540,9 +3497,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 call $~lib/dataview/DataView#getInt8 i32.const -126 @@ -3556,9 +3513,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 call $~lib/dataview/DataView#getInt8 i32.const 101 @@ -3572,9 +3529,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 call $~lib/dataview/DataView#getInt8 i32.const 67 @@ -3588,9 +3545,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 7 call $~lib/dataview/DataView#getInt8 i32.const 95 @@ -3604,9 +3561,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3623,9 +3580,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3642,9 +3599,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3661,9 +3618,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3680,9 +3637,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3699,9 +3656,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3718,9 +3675,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3737,9 +3694,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3756,9 +3713,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3775,9 +3732,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3794,9 +3751,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3813,9 +3770,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3832,9 +3789,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3851,9 +3808,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3870,9 +3827,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3887,9 +3844,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3904,9 +3861,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3921,9 +3878,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3938,9 +3895,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3955,9 +3912,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3972,9 +3929,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3989,9 +3946,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4006,9 +3963,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4023,9 +3980,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4040,9 +3997,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getInt64 i64.const 6864441868736323830 @@ -4056,9 +4013,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getInt64 i64.const -657428103485373601 @@ -4072,9 +4029,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getUint8 i32.const 246 @@ -4088,9 +4045,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getUint8 i32.const 224 @@ -4104,9 +4061,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 call $~lib/dataview/DataView#getUint8 i32.const 88 @@ -4120,9 +4077,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 call $~lib/dataview/DataView#getUint8 i32.const 159 @@ -4136,9 +4093,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 call $~lib/dataview/DataView#getUint8 i32.const 130 @@ -4152,9 +4109,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 call $~lib/dataview/DataView#getUint8 i32.const 101 @@ -4168,9 +4125,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 call $~lib/dataview/DataView#getUint8 i32.const 67 @@ -4184,9 +4141,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 7 call $~lib/dataview/DataView#getUint8 i32.const 95 @@ -4200,9 +4157,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4219,9 +4176,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4238,9 +4195,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4257,9 +4214,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4276,9 +4233,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4295,9 +4252,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4314,9 +4271,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4333,9 +4290,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4352,9 +4309,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4371,9 +4328,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4390,9 +4347,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4409,9 +4366,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4428,9 +4385,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 5 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4447,9 +4404,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 6 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4466,9 +4423,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4483,9 +4440,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4500,9 +4457,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4517,9 +4474,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4534,9 +4491,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4551,9 +4508,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4568,9 +4525,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4585,9 +4542,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4602,9 +4559,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4619,9 +4576,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4636,9 +4593,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getUint64 i64.const 6864441868736323830 @@ -4652,9 +4609,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getUint64 i64.const -657428103485373601 @@ -4668,16 +4625,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 f32.const 1.5976661625240943e-18 i32.const 1 call $~lib/dataview/DataView#setFloat32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -4692,16 +4649,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 f32.const 1976281973381696323584 i32.const 0 call $~lib/dataview/DataView#setFloat32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -4716,16 +4673,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 f64.const -1094252199637739024055454e124 i32.const 1 call $~lib/dataview/DataView#setFloat64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getFloat64 f64.const -1094252199637739024055454e124 @@ -4739,16 +4696,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 f64.const 6.022586634778589e-103 i32.const 0 call $~lib/dataview/DataView#setFloat64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getFloat64 f64.const 6.022586634778589e-103 @@ -4762,7 +4719,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4771,14 +4728,14 @@ global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 i32.load offset=8 i32.eqz if @@ -4790,9 +4747,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 i32.load offset=4 i32.const 108 i32.store8 @@ -4801,9 +4758,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getInt8 i32.const 108 @@ -4817,16 +4774,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const -13360 i32.const 1 call $~lib/dataview/DataView#setInt16 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -4843,16 +4800,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 14689 i32.const 0 call $~lib/dataview/DataView#setInt16 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4869,16 +4826,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1204680201 i32.const 1 call $~lib/dataview/DataView#setInt32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4893,16 +4850,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 660673230 i32.const 0 call $~lib/dataview/DataView#setInt32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4917,16 +4874,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i64.const -3290739641816099749 i32.const 1 call $~lib/dataview/DataView#setInt64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getInt64 i64.const -3290739641816099749 @@ -4940,16 +4897,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i64.const 8178932412950708047 i32.const 0 call $~lib/dataview/DataView#setInt64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getInt64 i64.const 8178932412950708047 @@ -4963,7 +4920,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4972,14 +4929,14 @@ global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 i32.load offset=8 i32.eqz if @@ -4991,9 +4948,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 + local.get $1 i32.load offset=4 i32.const 238 i32.store8 @@ -5002,9 +4959,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getUint8 i32.const 238 @@ -5018,16 +4975,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 58856 i32.const 1 call $~lib/dataview/DataView#setUint16 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -5044,16 +5001,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 60400 i32.const 0 call $~lib/dataview/DataView#setUint16 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -5070,16 +5027,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const -846805744 i32.const 1 call $~lib/dataview/DataView#setUint32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -5094,16 +5051,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const -1510791631 i32.const 0 call $~lib/dataview/DataView#setUint32 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -5118,16 +5075,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i64.const 2334704782995986958 i32.const 1 call $~lib/dataview/DataView#setUint64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1 call $~lib/dataview/DataView#getUint64 i64.const 2334704782995986958 @@ -5141,16 +5098,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i64.const -7123186897289856329 i32.const 0 call $~lib/dataview/DataView#setUint64 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 call $~lib/dataview/DataView#getUint64 i64.const -7123186897289856329 @@ -5165,12 +5122,12 @@ end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.load - local.tee $1 + local.tee $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -5179,14 +5136,14 @@ global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 i32.const 20 i32.sub i32.load offset=16 @@ -5195,23 +5152,23 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 local.get $2 call $~lib/dataview/DataView#constructor - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -5222,9 +5179,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store offset=4 - local.get $1 + local.get $0 i32.load offset=8 i32.const 8 i32.ne diff --git a/tests/compiler/std/date.debug.wat b/tests/compiler/std/date.debug.wat index f67503e5e9..1f7888e9e8 100644 --- a/tests/compiler/std/date.debug.wat +++ b/tests/compiler/std/date.debug.wat @@ -3854,30 +3854,6 @@ local.get $2 local.get $epochMillis call $~lib/date/Date#set:epochMillis - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/date/Date#set:year - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/date/Date#set:month - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/date/Date#set:day local.get $epochMillis call $~lib/date/invalidDate if diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index 4b706f0de3..8000608a6e 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -504,7 +504,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$376 + block $__inlined_func$~lib/rt/itcms/Object#unlink$373 local.get $0 i32.load offset=4 i32.const -4 @@ -528,7 +528,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$376 + br $__inlined_func$~lib/rt/itcms/Object#unlink$373 end local.get $0 i32.load offset=8 @@ -2548,24 +2548,6 @@ local.get $1 local.get $0 i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 local.get $0 i64.const -8640000000000000 i64.lt_s @@ -3310,7 +3292,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store - block $__inlined_func$~lib/string/String#padStart$384 + block $__inlined_func$~lib/string/String#padStart$381 i32.const 1868 i32.load i32.const -2 @@ -3329,7 +3311,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String#padStart$384 + br $__inlined_func$~lib/string/String#padStart$381 end global.get $~lib/memory/__stack_pointer local.get $5 @@ -3766,7 +3748,7 @@ global.get $~lib/memory/__stack_pointer local.get $4 i32.store - block $__inlined_func$~lib/string/String#concat$385 + block $__inlined_func$~lib/string/String#concat$382 local.get $4 i32.const 20 i32.sub @@ -3785,7 +3767,7 @@ global.set $~lib/memory/__stack_pointer i32.const 3456 local.set $1 - br $__inlined_func$~lib/string/String#concat$385 + br $__inlined_func$~lib/string/String#concat$382 end global.get $~lib/memory/__stack_pointer local.get $1 @@ -5120,7 +5102,7 @@ i32.load16_u local.set $0 loop $while-continue|0 - block $__inlined_func$~lib/util/string/isSpace$164 (result i32) + block $__inlined_func$~lib/util/string/isSpace$161 (result i32) local.get $0 i32.const 128 i32.or @@ -5135,7 +5117,7 @@ local.get $0 i32.const 5760 i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace$164 + br_if $__inlined_func$~lib/util/string/isSpace$161 drop i32.const 1 local.get $0 @@ -5143,7 +5125,7 @@ i32.add i32.const 10 i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace$164 + br_if $__inlined_func$~lib/util/string/isSpace$161 drop block $break|0 block $case0|0 @@ -5178,7 +5160,7 @@ br $break|0 end i32.const 1 - br $__inlined_func$~lib/util/string/isSpace$164 + br $__inlined_func$~lib/util/string/isSpace$161 end i32.const 0 end @@ -5426,7 +5408,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $__inlined_func$~lib/rt/itcms/__renew$363 + block $__inlined_func$~lib/rt/itcms/__renew$360 i32.const 1073741820 local.get $2 i32.const 1 @@ -5469,7 +5451,7 @@ i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew$363 + br $__inlined_func$~lib/rt/itcms/__renew$360 end local.get $3 local.get $4 @@ -6173,7 +6155,7 @@ global.get $~lib/memory/__stack_pointer local.get $2 i32.store - block $__inlined_func$~lib/string/String#charCodeAt$386 + block $__inlined_func$~lib/string/String#charCodeAt$383 local.get $3 local.get $2 i32.const 20 @@ -6189,7 +6171,7 @@ global.set $~lib/memory/__stack_pointer i32.const -1 local.set $0 - br $__inlined_func$~lib/string/String#charCodeAt$386 + br $__inlined_func$~lib/string/String#charCodeAt$383 end local.get $2 local.get $3 @@ -6440,7 +6422,7 @@ call $~lib/util/string/strtol local.set $6 global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/string/String#substr$387 (result i32) + block $__inlined_func$~lib/string/String#substr$384 (result i32) global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=44 @@ -6503,7 +6485,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 3456 - br $__inlined_func$~lib/string/String#substr$387 + br $__inlined_func$~lib/string/String#substr$384 end global.get $~lib/memory/__stack_pointer local.get $8 @@ -6553,7 +6535,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1872 i32.store - block $__inlined_func$~lib/string/String#padEnd$388 + block $__inlined_func$~lib/string/String#padEnd$385 i32.const 1868 i32.load i32.const -2 @@ -6569,7 +6551,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String#padEnd$388 + br $__inlined_func$~lib/string/String#padEnd$385 end global.get $~lib/memory/__stack_pointer i32.const 6 diff --git a/tests/compiler/std/map.debug.wat b/tests/compiler/std/map.debug.wat index da8784b71b..88ecea767b 100644 --- a/tests/compiler/std/map.debug.wat +++ b/tests/compiler/std/map.debug.wat @@ -2369,16 +2369,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2499,6 +2489,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2649,16 +2649,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -2687,16 +2677,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -2748,6 +2728,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2867,6 +2857,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -2895,16 +2895,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3026,6 +3016,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3086,16 +3086,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -3147,6 +3137,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -3175,16 +3175,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3305,6 +3295,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3365,16 +3365,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -3426,6 +3416,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -3454,16 +3454,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3585,6 +3575,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3645,16 +3645,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -3706,6 +3696,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -3734,16 +3734,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3863,6 +3853,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3923,16 +3923,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -3984,6 +3974,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -4012,16 +4012,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) (local $h i32) @@ -4158,6 +4148,16 @@ local.get $taggedNext i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4218,16 +4218,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -4279,6 +4269,16 @@ local.get $taggedNext i32.store offset=16 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -4307,16 +4307,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) (local $h i32) @@ -4453,6 +4443,16 @@ local.get $taggedNext i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4513,16 +4513,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -4574,6 +4564,16 @@ local.get $taggedNext i32.store offset=16 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -4602,16 +4602,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key f32) (result i32) (local $key|1 i32) (local $len i32) @@ -4732,6 +4722,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4792,16 +4792,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -4853,6 +4843,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -4881,16 +4881,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key f64) (result i32) (local $key|1 i64) (local $h i32) @@ -5028,6 +5018,16 @@ local.get $taggedNext i32.store offset=12 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -5088,16 +5088,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this i32.load @@ -5149,6 +5139,16 @@ local.get $taggedNext i32.store offset=16 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/rt/itcms/__collect i32.const 0 drop @@ -5820,22 +5820,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -6449,38 +6433,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 0 @@ -6510,7 +6462,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -6519,7 +6471,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -6532,7 +6484,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -6540,7 +6492,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -6548,7 +6500,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -6906,38 +6858,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -6967,7 +6887,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -6976,7 +6896,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -6989,7 +6909,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -6997,7 +6917,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -7005,7 +6925,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -7298,22 +7218,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -7400,22 +7304,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -9507,22 +9395,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -10138,38 +10010,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 0 @@ -10199,7 +10039,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10208,7 +10048,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -10221,7 +10061,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -10229,7 +10069,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -10237,7 +10077,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -10633,22 +10473,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12183,22 +12007,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12797,53 +12605,21 @@ global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength + i64.const 0 + i64.store offset=8 local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end local.get $length i32.const 1073741820 i32.const 1 @@ -12873,7 +12649,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -12882,7 +12658,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -12895,7 +12671,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -12903,7 +12679,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -12911,7 +12687,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -13307,22 +13083,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -14855,22 +14615,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -15486,38 +15230,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 1 @@ -15547,7 +15259,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -15556,7 +15268,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -15569,7 +15281,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -15577,7 +15289,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -15585,7 +15297,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -15981,22 +15693,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -18694,22 +18390,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -19321,38 +19001,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -19382,7 +19030,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -19391,7 +19039,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -19404,7 +19052,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -19412,7 +19060,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -19420,7 +19068,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -19816,22 +19464,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -21362,22 +20994,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -21977,50 +21593,18 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ + i64.const 0 + i64.store offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end local.get $length i32.const 1073741820 i32.const 3 @@ -22050,7 +21634,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -22059,7 +21643,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -22072,7 +21656,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -22080,7 +21664,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -22088,7 +21672,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -22484,22 +22068,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -24039,22 +23607,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -24666,38 +24218,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -24727,7 +24247,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -24736,7 +24256,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -24749,7 +24269,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -24757,7 +24277,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -24765,7 +24285,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -25161,22 +24681,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -26716,22 +26220,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -27343,38 +26831,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -27404,7 +26860,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -27413,7 +26869,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -27426,7 +26882,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -27434,7 +26890,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -27442,7 +26898,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -27838,22 +27294,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -29393,22 +28833,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -30020,38 +29444,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -30081,7 +29473,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -30090,7 +29482,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -30103,7 +29495,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -30111,7 +29503,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -30119,7 +29511,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -30515,22 +29907,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/map.release.wat b/tests/compiler/std/map.release.wat index 4148a7ac94..9c3ea4e7c8 100644 --- a/tests/compiler/std/map.release.wat +++ b/tests/compiler/std/map.release.wat @@ -134,7 +134,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$1422 + block $__inlined_func$~lib/rt/itcms/Object#unlink$1346 local.get $0 i32.load offset=4 i32.const -4 @@ -158,7 +158,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$1422 + br $__inlined_func$~lib/rt/itcms/Object#unlink$1346 end local.get $0 i32.load offset=8 @@ -2478,7 +2478,7 @@ select local.set $1 end - block $__inlined_func$~lib/rt/itcms/__renew$1377 + block $__inlined_func$~lib/rt/itcms/__renew$1299 local.get $4 i32.const 20 i32.sub @@ -2496,7 +2496,7 @@ i32.store offset=16 local.get $4 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew$1377 + br $__inlined_func$~lib/rt/itcms/__renew$1299 end local.get $1 local.get $3 @@ -2671,33 +2671,6 @@ call $~lib/rt/itcms/__new local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=12 local.get $0 i32.const 268435455 i32.gt_u @@ -2722,10 +2695,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 @@ -2737,19 +2710,19 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 local.get $1 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 local.get $1 local.get $3 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=8 local.get $1 local.get $0 i32.store offset=12 @@ -3025,18 +2998,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -3207,7 +3168,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1378" + block $"__inlined_func$~lib/map/Map#find$1301" loop $while-continue|0 local.get $3 if @@ -3231,7 +3192,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1378" + br $"__inlined_func$~lib/map/Map#find$1301" end local.get $4 i32.const -2 @@ -4246,6 +4207,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -4278,78 +4240,66 @@ i32.const 24 i32.const 4 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -4360,19 +4310,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4384,12 +4334,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -4401,17 +4351,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -4424,17 +4374,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4446,12 +4396,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -4464,19 +4414,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4488,12 +4438,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -4505,17 +4455,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -4528,196 +4478,174 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store - local.get $7 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $8 + block $"__inlined_func$~lib/map/Map#keys$3" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 i32.load offset=8 - i32.const 1 - i32.and - i32.eqz + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=16 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + local.get $8 + i32.const 1073741820 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $8 - i32.load8_s - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $8 + local.get $8 + i32.const 8 + i32.le_u + select + local.tee $1 i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $9 + local.get $5 + i32.store + local.get $9 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $8 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 12 + i32.mul + i32.add + local.tee $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + local.get $1 + i32.load8_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + br $"__inlined_func$~lib/map/Map#keys$3" end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 call $"~lib/map/Map#values" - local.tee $0 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4738,67 +4666,55 @@ i32.const 24 i32.const 7 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -4806,15 +4722,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 - local.get $7 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4828,10 +4744,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -4843,30 +4759,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=4 i32.add i32.load8_s - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 - local.get $2 + local.get $1 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $"~lib/map/Map#has" i32.eqz if @@ -4878,10 +4794,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $6 + local.get $2 + local.get $7 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -4895,33 +4811,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 local.get $5 + i32.store offset=4 local.get $5 + local.get $6 + local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 call $"~lib/map/Map#set" - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -4949,17 +4865,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -4971,12 +4887,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -4989,16 +4905,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -5008,17 +4924,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -5031,17 +4947,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -5052,19 +4968,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -5076,16 +4992,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -5095,17 +5011,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -5118,14 +5034,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" if i32.const 0 @@ -5757,7 +5673,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1383" + block $"__inlined_func$~lib/map/Map#find$1306" loop $while-continue|0 local.get $3 if @@ -5781,7 +5697,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1383" + br $"__inlined_func$~lib/map/Map#find$1306" end local.get $4 i32.const -2 @@ -6259,6 +6175,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -6291,78 +6208,66 @@ i32.const 24 i32.const 9 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -6373,19 +6278,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6397,12 +6302,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -6414,17 +6319,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -6437,17 +6342,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6459,12 +6364,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -6477,19 +6382,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6501,12 +6406,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -6518,17 +6423,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -6541,35 +6446,178 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + block $"__inlined_func$~lib/map/Map#keys$5" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=8 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=16 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + local.get $8 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $8 + local.get $8 + i32.const 8 + i32.le_u + select + local.tee $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $9 + local.get $5 + i32.store + local.get $9 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $8 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 12 + i32.mul + i32.add + local.tee $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + local.get $1 + i32.load8_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + br $"__inlined_func$~lib/map/Map#keys$5" + end + br $folding-inner1 + end + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 + local.get $2 + call $"~lib/map/Map#values" + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -6580,238 +6628,61 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 10 + i32.const 24 + i32.const 11 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=4 - local.get $7 - i32.const 0 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=8 + local.get $5 + local.get $6 i32.store - local.get $7 - i32.const 0 + local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 + local.get $5 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 + i32.const 3 i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 8 local.get $6 + i32.store offset=8 + local.get $5 local.get $6 - i32.const 8 - i32.le_u - select - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 + local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $5 i32.store offset=4 - local.get $7 - local.get $6 + local.get $5 + i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $8 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $8 - i32.load8_u - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - call $"~lib/map/Map#values" - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $4 - local.get $5 - i32.store - local.get $4 - local.get $5 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $4 - local.get $5 - i32.store offset=8 - local.get $4 local.get $5 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 4 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -6819,15 +6690,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 - local.get $7 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6841,10 +6712,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -6856,30 +6727,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=4 i32.add i32.load8_u - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 - local.get $2 + local.get $1 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $"~lib/map/Map#has" i32.eqz if @@ -6891,10 +6762,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $6 + local.get $2 + local.get $7 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -6908,33 +6779,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 local.get $5 + i32.store offset=4 local.get $5 + local.get $6 + local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 call $"~lib/map/Map#set" - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -6962,17 +6833,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -6984,12 +6855,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -7002,16 +6873,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -7021,17 +6892,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -7044,17 +6915,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -7065,19 +6936,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -7089,16 +6960,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -7108,17 +6979,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -7131,14 +7002,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" if i32.const 0 @@ -7947,7 +7818,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1388" + block $"__inlined_func$~lib/map/Map#find$1311" loop $while-continue|0 local.get $3 if @@ -7971,7 +7842,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1388" + br $"__inlined_func$~lib/map/Map#find$1311" end local.get $4 i32.const -2 @@ -8448,6 +8319,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -8480,78 +8352,66 @@ i32.const 24 i32.const 12 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -8562,19 +8422,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -8586,12 +8446,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -8603,17 +8463,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -8626,17 +8486,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -8648,12 +8508,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -8666,19 +8526,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -8690,12 +8550,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -8707,17 +8567,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -8730,198 +8590,176 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store - local.get $7 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.store offset=4 - local.get $7 - local.get $0 - i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $8 + block $"__inlined_func$~lib/map/Map#keys$7" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 i32.load offset=8 - i32.const 1 - i32.and - i32.eqz + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=16 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + local.get $8 + i32.const 536870910 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $8 - i32.load16_s - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $8 + local.get $8 + i32.const 8 + i32.le_u + select + i32.const 1 + i32.shl + local.tee $1 i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $9 + local.get $5 + i32.store + local.get $9 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $8 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 12 + i32.mul + i32.add + local.tee $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + local.get $1 + i32.load16_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + br $"__inlined_func$~lib/map/Map#keys$7" end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 call $"~lib/map/Map#values" - local.tee $0 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -8942,67 +8780,55 @@ i32.const 24 i32.const 14 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -9010,15 +8836,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 - local.get $7 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -9032,10 +8858,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -9047,32 +8873,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $7 + local.get $0 i32.load offset=4 - local.get $2 + local.get $4 i32.const 1 i32.shl i32.add i32.load16_s - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 - local.get $2 + local.get $1 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $"~lib/map/Map#has" i32.eqz if @@ -9084,10 +8910,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $6 + local.get $2 + local.get $7 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -9101,33 +8927,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 local.get $5 + i32.store offset=4 local.get $5 + local.get $6 + local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 call $"~lib/map/Map#set" - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -9155,17 +8981,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -9177,12 +9003,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -9195,16 +9021,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -9214,17 +9040,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -9237,17 +9063,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -9258,19 +9084,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -9282,16 +9108,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -9301,17 +9127,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -9324,14 +9150,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" if i32.const 0 @@ -9963,7 +9789,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1393" + block $"__inlined_func$~lib/map/Map#find$1316" loop $while-continue|0 local.get $3 if @@ -9987,7 +9813,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1393" + br $"__inlined_func$~lib/map/Map#find$1316" end local.get $4 i32.const -2 @@ -10465,6 +10291,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -10497,78 +10324,66 @@ i32.const 24 i32.const 15 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -10579,19 +10394,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -10603,12 +10418,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -10620,17 +10435,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -10643,17 +10458,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -10665,12 +10480,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -10683,19 +10498,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -10707,12 +10522,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -10724,17 +10539,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -10747,198 +10562,176 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store - local.get $7 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $2 i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $8 + block $"__inlined_func$~lib/map/Map#keys$9" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 i32.load offset=8 - i32.const 1 - i32.and - i32.eqz + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=16 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + local.get $8 + i32.const 536870910 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $8 - i32.load16_u - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $8 + local.get $8 + i32.const 8 + i32.le_u + select + i32.const 1 + i32.shl + local.tee $1 i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $9 + local.get $5 + i32.store + local.get $9 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $8 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 12 + i32.mul + i32.add + local.tee $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + local.get $1 + i32.load16_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $9 + br $"__inlined_func$~lib/map/Map#keys$9" end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 call $"~lib/map/Map#values" - local.tee $0 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -10959,67 +10752,55 @@ i32.const 24 i32.const 17 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -11027,15 +10808,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 - local.get $7 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -11049,10 +10830,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -11064,32 +10845,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $7 + local.get $0 i32.load offset=4 - local.get $2 + local.get $4 i32.const 1 i32.shl i32.add i32.load16_u - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 - local.get $2 + local.get $1 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $"~lib/map/Map#has" i32.eqz if @@ -11101,10 +10882,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $6 + local.get $2 + local.get $7 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -11118,33 +10899,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 local.get $5 + i32.store offset=4 local.get $5 + local.get $6 + local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 call $"~lib/map/Map#set" - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -11172,17 +10953,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -11194,12 +10975,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -11212,16 +10993,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -11231,17 +11012,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -11254,17 +11035,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -11275,19 +11056,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -11299,16 +11080,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -11318,17 +11099,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -11341,14 +11122,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" if i32.const 0 @@ -13367,6 +13148,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -13399,78 +13181,66 @@ i32.const 24 i32.const 18 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 i32.store offset=8 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 4 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -13481,19 +13251,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -13505,12 +13275,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -13522,17 +13292,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -13545,17 +13315,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -13567,12 +13337,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 10 i32.add i32.ne @@ -13585,19 +13355,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 20 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -13609,12 +13379,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -13626,221 +13396,199 @@ call $~lib/builtins/abort unreachable end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $"~lib/map/Map#get:size" - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 19 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store - local.get $7 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $8 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - local.get $8 - i32.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 + local.get $1 i32.const 1 i32.add - local.set $3 - br $for-loop|00 + local.set $1 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - call $~lib/array/Array#set:length + local.get $2 + i32.store offset=4 + local.get $2 + call $"~lib/map/Map#get:size" + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + block $"__inlined_func$~lib/map/Map#keys$11" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=8 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=16 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 19 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + local.get $8 + i32.const 268435455 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $8 + local.get $8 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $9 + local.get $5 + i32.store + local.get $9 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $8 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 12 + i32.mul + i32.add + local.tee $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + local.get $1 + i32.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + br $"__inlined_func$~lib/map/Map#keys$11" + end + br $folding-inner1 + end + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 call $"~lib/map/Map#values" - local.tee $0 + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -13861,67 +13609,55 @@ i32.const 24 i32.const 20 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 i32.store offset=8 - local.get $4 local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" @@ -13929,15 +13665,15 @@ i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 - local.get $7 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -13951,10 +13687,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $2 - local.get $7 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -13966,32 +13702,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store - local.get $7 + local.get $0 i32.load offset=4 - local.get $2 + local.get $4 i32.const 2 i32.shl i32.add i32.load - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $0 - local.get $2 + local.get $1 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $5 + local.get $2 + local.get $6 call $"~lib/map/Map#has" i32.eqz if @@ -14003,10 +13739,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - local.get $6 + local.get $2 + local.get $7 i32.const 20 i32.sub call $"~lib/map/Map#has" @@ -14019,34 +13755,34 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $5 + i32.store offset=4 local.get $5 + local.get $6 + local.get $6 call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer local.get $3 i32.store offset=4 local.get $3 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 call $"~lib/map/Map#set" - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.store offset=4 - local.get $4 + local.get $5 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -14074,17 +13810,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -14096,12 +13832,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#get" - local.get $0 + local.get $1 i32.const 20 i32.add i32.ne @@ -14114,16 +13850,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -14133,17 +13869,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -14156,17 +13892,17 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -14177,19 +13913,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + local.get $1 local.get $1 - local.get $0 - local.get $0 i32.const 10 i32.add call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" i32.eqz if @@ -14201,16 +13937,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 local.get $1 - local.get $0 call $"~lib/map/Map#has" if i32.const 0 @@ -14220,17 +13956,17 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" i32.const 50 i32.ne @@ -14243,14 +13979,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 + local.get $2 call $"~lib/map/Map#get:size" if i32.const 0 @@ -15201,7 +14937,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1403" + block $"__inlined_func$~lib/map/Map#find$1326" loop $while-continue|0 local.get $3 if @@ -15223,7 +14959,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1403" + br $"__inlined_func$~lib/map/Map#find$1326" end local.get $4 i32.const -2 @@ -15804,6 +15540,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -15843,15 +15580,15 @@ i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 local.get $1 - local.get $5 + local.get $6 i32.store local.get $1 - local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 @@ -15864,15 +15601,15 @@ i32.store offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 local.get $1 - local.get $5 + local.get $6 i32.store offset=8 local.get $1 - local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 @@ -15881,18 +15618,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -16068,211 +15793,191 @@ call $~lib/builtins/abort unreachable end - local.get $2 - i64.const 1 - i64.add - local.set $2 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $"~lib/map/Map#get:size" - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $7 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=12 - local.get $7 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $7 - local.get $7 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl - local.tee $9 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $8 - local.get $4 - i32.store - local.get $8 - local.get $4 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $4 - i32.store offset=4 + local.get $2 + i64.const 1 + i64.add + local.set $2 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $1 i32.store offset=4 - local.get $8 - local.get $9 - i32.store offset=8 + local.get $1 + call $"~lib/map/Map#get:size" + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $1 i32.store offset=4 - local.get $8 - local.get $7 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - loop $for-loop|00 - local.get $3 - local.get $7 - i32.lt_s - if - local.get $6 - local.get $3 - i32.const 4 - i32.shl - i32.add - local.tee $4 - i32.load offset=12 - i32.const 1 - i32.and - i32.eqz + block $"__inlined_func$~lib/map/Map#keys$19" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $10 + i32.store + local.get $5 + i32.const 134217727 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - local.get $4 - i64.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $5 + local.get $5 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $6 i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $10 + local.get $7 + i32.store + local.get $10 + local.get $7 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $6 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $5 + i32.lt_s + if + local.get $8 + local.get $3 + i32.const 4 + i32.shl + i32.add + local.tee $6 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + local.get $6 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + br $"__inlined_func$~lib/map/Map#keys$19" end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 @@ -16280,7 +15985,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 call $"~lib/map/Map#values" - local.tee $0 + local.tee $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16301,85 +16006,71 @@ i32.const 24 i32.const 23 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $7 i32.store offset=8 - local.get $4 - local.get $5 + local.get $6 + local.get $7 i32.store - local.get $4 - local.get $5 + local.get $6 + local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $7 i32.store offset=8 - local.get $4 - local.get $5 + local.get $6 + local.get $7 i32.store offset=8 - local.get $4 - local.get $5 + local.get $6 + local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" local.tee $5 i32.store offset=20 - i32.const 0 - local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=4 - local.get $8 + local.get $0 call $~lib/array/Array#get:length - local.get $3 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -16393,10 +16084,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store - local.get $3 - local.get $8 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -16408,11 +16099,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store - local.get $8 + local.get $0 i32.load offset=4 - local.get $3 + local.get $4 i32.const 3 i32.shl i32.add @@ -16423,12 +16114,12 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=4 - local.get $0 local.get $3 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 @@ -16448,7 +16139,7 @@ local.get $1 i32.store offset=4 local.get $1 - local.get $6 + local.get $7 i32.const 20 i32.sub i64.extend_i32_s @@ -16463,9 +16154,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 local.get $2 local.get $2 call $"~lib/map/Map#set" @@ -16473,23 +16164,23 @@ local.get $5 i32.store offset=4 local.get $5 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $6 - local.get $6 + local.tee $7 + local.get $7 call $"~lib/map/Map#set" - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -17453,7 +17144,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1408" + block $"__inlined_func$~lib/map/Map#find$1331" loop $while-continue|0 local.get $3 if @@ -17475,7 +17166,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1408" + br $"__inlined_func$~lib/map/Map#find$1331" end local.get $4 i32.const -2 @@ -17977,6 +17668,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -18016,15 +17708,15 @@ i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 local.get $1 - local.get $5 + local.get $6 i32.store local.get $1 - local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 @@ -18037,15 +17729,15 @@ i32.store offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store offset=8 local.get $1 - local.get $5 + local.get $6 i32.store offset=8 local.get $1 - local.get $5 + local.get $6 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 @@ -18054,18 +17746,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -18264,188 +17944,168 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 - i32.load offset=16 - local.set $7 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 25 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=12 - local.get $7 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $7 - local.get $7 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl - local.tee $9 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $8 - local.get $4 - i32.store - local.get $8 - local.get $4 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $4 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 i32.store offset=4 - local.get $8 - local.get $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $7 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - loop $for-loop|00 - local.get $3 - local.get $7 - i32.lt_s - if + block $"__inlined_func$~lib/map/Map#keys$27" (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 25 + call $~lib/rt/itcms/__new + local.tee $10 + i32.store + local.get $5 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $5 + local.get $5 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $6 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $10 + local.get $7 + i32.store + local.get $10 + local.get $7 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 local.get $6 - local.get $3 - i32.const 4 - i32.shl + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.tee $4 - i32.load offset=12 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - local.get $4 - i64.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + global.set $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=4 + loop $for-loop|01 + local.get $3 + local.get $5 + i32.lt_s + if + local.get $8 + local.get $3 + i32.const 4 + i32.shl + i32.add + local.tee $6 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + local.get $6 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end end - local.get $3 - i32.const 1 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $10 + br $"__inlined_func$~lib/map/Map#keys$27" end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 @@ -18453,7 +18113,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 call $"~lib/map/Map#values" - local.tee $0 + local.tee $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -18474,85 +18134,71 @@ i32.const 24 i32.const 26 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $6 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $7 i32.store offset=8 - local.get $4 - local.get $5 + local.get $6 + local.get $7 i32.store - local.get $4 - local.get $5 + local.get $6 + local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 i32.const 3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $7 i32.store offset=8 - local.get $4 - local.get $5 + local.get $6 + local.get $7 i32.store offset=8 - local.get $4 - local.get $5 + local.get $6 + local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=16 global.get $~lib/memory/__stack_pointer call $"~lib/map/Map#constructor" local.tee $5 i32.store offset=20 - i32.const 0 - local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=4 - local.get $8 + local.get $0 call $~lib/array/Array#get:length - local.get $3 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -18566,10 +18212,10 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store - local.get $3 - local.get $8 + local.get $4 + local.get $0 i32.load offset=12 i32.ge_u if @@ -18581,11 +18227,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store - local.get $8 + local.get $0 i32.load offset=4 - local.get $3 + local.get $4 i32.const 3 i32.shl i32.add @@ -18596,12 +18242,12 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=4 - local.get $0 local.get $3 + local.get $4 call $~lib/array/Array#__get - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 @@ -18621,7 +18267,7 @@ local.get $1 i32.store offset=4 local.get $1 - local.get $6 + local.get $7 i32.const 20 i32.sub i64.extend_i32_s @@ -18636,9 +18282,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 local.get $2 local.get $2 call $"~lib/map/Map#set" @@ -18646,23 +18292,23 @@ local.get $5 i32.store offset=4 local.get $5 - local.get $6 + local.get $7 i32.const 20 i32.sub - local.tee $6 - local.get $6 + local.tee $7 + local.get $7 call $"~lib/map/Map#set" - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $6 i32.store offset=4 - local.get $4 + local.get $6 call $"~lib/map/Map#get:size" i32.const 100 i32.ne @@ -19488,8 +19134,8 @@ (func $"~lib/map/Map#keys" (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 f32) + (local $3 f32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -19497,11 +19143,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -19510,14 +19156,14 @@ i32.store local.get $0 i32.load offset=8 - local.set $3 + local.set $4 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -19525,7 +19171,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -19536,36 +19182,9 @@ i32.const 16 i32.const 28 call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.tee $2 i32.store local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 i32.const 268435455 i32.gt_u if @@ -19578,8 +19197,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 + local.get $6 + local.get $6 i32.const 8 i32.le_u select @@ -19587,52 +19206,54 @@ i32.shl local.tee $0 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 + call $~lib/rt/itcms/__new + local.tee $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 i32.store offset=12 - local.get $6 + local.get $2 local.get $7 i32.store - local.get $6 + local.get $2 local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 local.get $5 + local.get $6 i32.lt_s if - local.get $3 - local.get $2 + local.get $4 + local.get $5 i32.const 12 i32.mul i32.add @@ -19643,16 +19264,16 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $7 f32.load - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19660,19 +19281,19 @@ global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $0 - local.get $6 + local.get $1 + local.get $2 i32.load offset=12 i32.ge_u if - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -19683,8 +19304,8 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.get $0 + local.get $2 + local.get $1 i32.const 1 i32.add local.tee $7 @@ -19692,46 +19313,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 local.get $7 i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - local.get $4 + local.get $3 f32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $2 + local.get $5 i32.const 1 i32.add - local.set $2 + local.set $5 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 - local.get $1 + local.get $2 + local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 return end i32.const 34688 @@ -20342,18 +19963,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -20631,18 +20240,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -21654,8 +21251,8 @@ (func $"~lib/map/Map#keys" (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 f64) + (local $3 f64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -21663,11 +21260,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -21676,14 +21273,14 @@ i32.store local.get $0 i32.load offset=8 - local.set $3 + local.set $4 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -21691,7 +21288,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -21702,36 +21299,9 @@ i32.const 16 i32.const 31 call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.tee $2 i32.store local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 i32.const 134217727 i32.gt_u if @@ -21744,8 +21314,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 + local.get $6 + local.get $6 i32.const 8 i32.le_u select @@ -21755,50 +21325,52 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 i32.store offset=12 - local.get $6 + local.get $2 local.get $7 i32.store - local.get $6 + local.get $2 local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 local.get $5 + local.get $6 i32.lt_s if - local.get $3 - local.get $2 + local.get $4 + local.get $5 i32.const 4 i32.shl i32.add @@ -21809,16 +21381,16 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $7 f64.load - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21826,19 +21398,19 @@ global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $0 - local.get $6 + local.get $1 + local.get $2 i32.load offset=12 i32.ge_u if - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -21849,8 +21421,8 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.get $0 + local.get $2 + local.get $1 i32.const 1 i32.add local.tee $7 @@ -21858,46 +21430,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 local.get $7 i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 i32.load offset=4 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - local.get $4 + local.get $3 f64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $2 + local.get $5 i32.const 1 i32.add - local.set $2 + local.set $5 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 - local.get $1 + local.get $2 + local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 return end i32.const 34688 @@ -22007,7 +21579,7 @@ i32.add i32.load local.set $3 - block $"__inlined_func$~lib/map/Map#find$1418" + block $"__inlined_func$~lib/map/Map#find$1342" loop $while-continue|0 local.get $3 if @@ -22029,7 +21601,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $"__inlined_func$~lib/map/Map#find$1418" + br $"__inlined_func$~lib/map/Map#find$1342" end local.get $4 i32.const -2 @@ -22611,18 +22183,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -22900,18 +22460,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/set.debug.wat b/tests/compiler/std/set.debug.wat index b643b683f8..ab082ec36f 100644 --- a/tests/compiler/std/set.debug.wat +++ b/tests/compiler/std/set.debug.wat @@ -2364,16 +2364,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2485,6 +2475,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2603,16 +2603,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2725,6 +2715,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2785,16 +2785,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2906,6 +2896,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2966,16 +2966,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3088,6 +3078,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3148,16 +3148,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3268,6 +3258,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3328,16 +3328,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3448,6 +3438,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3508,16 +3508,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) (local $h i32) @@ -3645,6 +3635,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3705,16 +3705,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) (local $h i32) @@ -3842,6 +3832,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -3902,16 +3902,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key f32) (result i32) (local $key|1 i32) (local $len i32) @@ -4023,6 +4013,16 @@ local.get $taggedNext i32.store offset=4 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4083,16 +4083,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key f64) (result i32) (local $key|1 i64) (local $h i32) @@ -4221,6 +4211,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -4795,22 +4795,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -5360,38 +5344,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 0 @@ -5421,7 +5373,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -5430,7 +5382,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -5443,7 +5395,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -5451,7 +5403,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -5459,7 +5411,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -6646,22 +6598,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -7203,48 +7139,16 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end local.get $length i32.const 1073741820 i32.const 0 @@ -7274,7 +7178,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -7283,7 +7187,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -7296,7 +7200,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -7304,7 +7208,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -7312,7 +7216,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -8380,22 +8284,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -8945,38 +8833,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 1 @@ -9006,7 +8862,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -9015,7 +8871,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -9028,7 +8884,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -9036,7 +8892,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -9044,7 +8900,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -10112,22 +9968,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -10679,38 +10519,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 1 @@ -10740,7 +10548,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10749,7 +10557,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -10762,7 +10570,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -10770,7 +10578,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -10778,7 +10586,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -11846,22 +11654,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12409,38 +12201,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -12470,7 +12230,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -12479,7 +12239,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -12492,7 +12252,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -12500,7 +12260,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -12508,7 +12268,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -13576,22 +13336,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -14125,52 +13869,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $this - i32.store - end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end local.get $length i32.const 1073741820 i32.const 2 @@ -14200,7 +13912,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -14209,7 +13921,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -14222,7 +13934,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -14230,7 +13942,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -14238,7 +13950,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -15306,22 +15018,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -15869,38 +15565,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -15930,7 +15594,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -15939,7 +15603,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -15952,7 +15616,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -15960,7 +15624,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -15968,7 +15632,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -17037,22 +16701,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -17600,38 +17248,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -17661,7 +17277,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -17670,7 +17286,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -17683,7 +17299,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -17691,7 +17307,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -17699,7 +17315,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -18768,22 +18384,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -19331,38 +18931,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 2 @@ -19392,7 +18960,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -19401,7 +18969,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -19414,7 +18982,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -19422,7 +18990,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -19430,7 +18998,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -20499,22 +20067,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -21062,38 +20614,6 @@ local.tee $this i32.store end - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $length i32.const 1073741820 i32.const 3 @@ -21123,7 +20643,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -21132,7 +20652,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer local.set $6 @@ -21145,7 +20665,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -21153,7 +20673,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -21161,7 +20681,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=8 local.get $6 local.get $length call $~lib/array/Array#set:length_ diff --git a/tests/compiler/std/set.release.wat b/tests/compiler/std/set.release.wat index 2a2f9d8ff2..2574d56619 100644 --- a/tests/compiler/std/set.release.wat +++ b/tests/compiler/std/set.release.wat @@ -125,7 +125,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$904 + block $__inlined_func$~lib/rt/itcms/Object#unlink$846 local.get $0 i32.load offset=4 i32.const -4 @@ -149,7 +149,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$904 + br $__inlined_func$~lib/rt/itcms/Object#unlink$846 end local.get $0 i32.load offset=8 @@ -1840,18 +1840,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -2470,7 +2458,7 @@ select local.set $1 end - block $__inlined_func$~lib/rt/itcms/__renew$893 + block $__inlined_func$~lib/rt/itcms/__renew$833 local.get $4 i32.const 20 i32.sub @@ -2488,7 +2476,7 @@ i32.store offset=16 local.get $4 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew$893 + br $__inlined_func$~lib/rt/itcms/__renew$833 end local.get $1 local.get $3 @@ -2933,6 +2921,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -3078,246 +3067,224 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $6 - local.get $7 - i32.store - local.get $6 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.tee $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - local.get $7 - i32.load8_s - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $0 - i32.store offset=12 - i32.const 0 - local.set $2 - loop $for-loop|2 + block $__inlined_func$~lib/set/Set#values$2 (result i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 local.get $1 - local.get $6 - local.get $2 - call $~lib/array/Array#__get - call $~lib/set/Set#has - i32.eqz + i32.store + local.get $1 + i32.load offset=16 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $3 + i32.const 1073741820 + i32.gt_u if - i32.const 0 - i32.const 1568 - i32.const 24 - i32.const 5 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $6 - local.get $2 - call $~lib/array/Array#__get - call $~lib/set/Set#add - local.get $2 + i32.store offset=12 + local.get $7 + local.get $0 + i32.store + local.get $7 + local.get $0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $6 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $6 + i32.load8_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/set/Set#values$2 + end + br $folding-inner1 + end + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $2 + i32.store offset=12 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + call $~lib/array/Array#get:length + local.get $4 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 24 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $2 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + call $~lib/set/Set#add + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -3587,18 +3554,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -4229,6 +4184,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -4374,213 +4330,191 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $6 - local.get $7 - i32.store - local.get $6 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.tee $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - local.get $7 - i32.load8_u - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 + block $__inlined_func$~lib/set/Set#values$3 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $3 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $7 + local.get $0 + i32.store + local.get $7 + local.get $0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $6 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $6 + i32.load8_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/set/Set#values$3 + end + br $folding-inner1 + end + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store offset=12 - i32.const 0 - local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=4 - local.get $6 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=16 local.get $1 - local.get $6 - local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -4593,27 +4527,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 local.get $0 - local.get $6 + i32.store offset=16 local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -4883,18 +4817,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -5705,6 +5627,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -5850,215 +5773,193 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $6 - local.get $7 - i32.store - local.get $6 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add + block $__inlined_func$~lib/set/Set#values$4 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 9 + call $~lib/rt/itcms/__new local.tee $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz + i32.store + local.get $3 + i32.const 536870910 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - local.get $7 - i32.load16_s - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select i32.const 1 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $7 + local.get $0 + i32.store + local.get $7 + local.get $0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $2 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $6 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $6 + i32.load16_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/set/Set#values$4 end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store offset=12 - i32.const 0 - local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=4 - local.get $6 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=16 local.get $1 - local.get $6 - local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -6071,27 +5972,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 local.get $0 - local.get $6 + i32.store offset=16 local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -6361,18 +6262,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -7005,6 +6894,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -7150,215 +7040,193 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $6 - local.get $7 - i32.store - local.get $6 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add + block $__inlined_func$~lib/set/Set#values$5 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 11 + call $~lib/rt/itcms/__new local.tee $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz + i32.store + local.get $3 + i32.const 536870910 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - local.get $7 - i32.load16_u - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select i32.const 1 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $7 + local.get $0 + i32.store + local.get $7 + local.get $0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $2 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $6 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $6 + i32.load16_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/set/Set#values$5 end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store offset=12 - i32.const 0 - local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=4 - local.get $6 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=16 local.get $1 - local.get $6 - local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -7371,27 +7239,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 local.get $0 - local.get $6 + i32.store offset=16 local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -7661,18 +7529,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -8478,6 +8334,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -8623,215 +8480,193 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 - i32.const 0 - i32.store - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $6 - local.get $7 - i32.store - local.get $6 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add + block $__inlined_func$~lib/set/Set#values$6 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 13 + call $~lib/rt/itcms/__new local.tee $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz + i32.store + local.get $3 + i32.const 268435455 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - local.get $7 - i32.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $8 i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $7 + local.get $0 + i32.store + local.get $7 + local.get $0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $2 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $6 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $6 + i32.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/set/Set#values$6 end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store offset=12 - i32.const 0 - local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=4 - local.get $6 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=16 local.get $1 - local.get $6 - local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -8844,27 +8679,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 local.get $0 - local.get $6 + i32.store offset=16 local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -9134,18 +8969,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -9846,6 +9669,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -9991,215 +9815,193 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $6 - local.get $7 - i32.store - local.get $6 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 - local.get $5 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add + block $__inlined_func$~lib/set/Set#values$7 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 15 + call $~lib/rt/itcms/__new local.tee $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz + i32.store + local.get $3 + i32.const 268435455 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - local.get $7 - i32.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $7 + local.get $0 + i32.store + local.get $7 + local.get $0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $6 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + local.get $6 + i32.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end end - local.get $2 - i32.const 1 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $2 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/set/Set#values$7 end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store offset=12 - i32.const 0 - local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=4 - local.get $6 + local.get $0 call $~lib/array/Array#get:length - local.get $2 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $0 i32.store offset=16 local.get $1 - local.get $6 - local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -10212,27 +10014,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 local.get $0 - local.get $6 + i32.store offset=16 local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -10502,18 +10304,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -11451,6 +11241,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -11596,213 +11387,191 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 17 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl - local.tee $9 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $8 - local.get $7 - i32.store - local.get $8 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 i32.store offset=4 - local.get $8 - local.get $6 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 4 + block $__inlined_func$~lib/set/Set#values$12 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 17 + call $~lib/rt/itcms/__new + local.tee $10 + i32.store + local.get $4 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $4 + local.get $4 + i32.const 8 + i32.le_u + select + i32.const 3 i32.shl - i32.add local.tee $7 - i32.load offset=8 i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - local.get $7 - i64.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 + local.get $10 + local.get $8 + i32.store + local.get $10 + local.get $8 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=4 + loop $for-loop|00 + local.get $3 + local.get $4 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 4 + i32.shl + i32.add + local.tee $7 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + local.get $7 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|00 + end end - local.get $3 - i32.const 1 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $10 + br $__inlined_func$~lib/set/Set#values$12 end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $3 i32.store offset=12 - i32.const 0 - local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=4 - local.get $8 + local.get $0 call $~lib/array/Array#get:length - local.get $3 + local.get $5 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=16 local.get $1 - local.get $8 - local.get $3 + local.get $0 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -11815,27 +11584,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=16 local.get $0 - local.get $8 + i32.store offset=16 local.get $3 + local.get $0 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=4 - local.get $0 + local.get $3 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -12105,18 +11874,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12870,6 +12627,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -12973,255 +12731,233 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - local.get $1 - local.get $2 - call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $2 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i64.const 1 - i64.add - local.set $2 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/set/Set#get:size - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=16 - local.set $6 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 19 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=8 + i32.store offset=4 + local.get $1 + local.get $2 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i64.const 1 + i64.add + local.set $2 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $1 i32.store offset=4 - local.get $8 - i32.const 0 - i32.store offset=12 - local.get $6 - i32.const 134217727 - i32.gt_u + local.get $1 + call $~lib/set/Set#get:size + i32.const 100 + i32.ne if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl - local.tee $9 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $8 - local.get $7 - i32.store - local.get $8 - local.get $7 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $9 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $1 i32.store offset=4 - local.get $8 - local.get $6 - i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 4 - i32.shl - i32.add - local.tee $7 + block $__inlined_func$~lib/set/Set#values$17 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 i32.load offset=8 - i32.const 1 - i32.and - i32.eqz + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 19 + call $~lib/rt/itcms/__new + local.tee $10 + i32.store + local.get $4 + i32.const 134217727 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - local.get $7 - i64.load - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $4 + local.get $4 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $7 i32.const 1 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 + local.get $10 + local.get $8 + i32.store + local.get $10 + local.get $8 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=8 + local.get $10 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $3 - br $for-loop|00 + global.set $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=4 + loop $for-loop|00 + local.get $3 + local.get $4 + i32.lt_s + if + local.get $6 + local.get $3 + i32.const 4 + i32.shl + i32.add + local.tee $7 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + local.get $7 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + br $__inlined_func$~lib/set/Set#values$17 end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $0 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $3 i32.store offset=12 - i32.const 0 - local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=4 - local.get $8 + local.get $0 call $~lib/array/Array#get:length - local.get $3 + local.get $5 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $0 i32.store offset=16 local.get $1 - local.get $8 - local.get $3 + local.get $0 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -13234,27 +12970,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=16 local.get $0 - local.get $8 + i32.store offset=16 local.get $3 + local.get $0 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store offset=4 - local.get $0 + local.get $3 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer @@ -13524,18 +13260,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -14049,8 +13773,8 @@ (func $~lib/set/Set#values (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 f32) + (local $3 f32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -14058,11 +13782,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -14071,14 +13795,14 @@ i32.store local.get $0 i32.load offset=8 - local.set $3 + local.set $4 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -14086,7 +13810,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -14097,36 +13821,9 @@ i32.const 16 i32.const 21 call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.tee $2 i32.store local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 i32.const 268435455 i32.gt_u if @@ -14139,8 +13836,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 + local.get $6 + local.get $6 i32.const 8 i32.le_u select @@ -14150,50 +13847,52 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 i32.store offset=12 - local.get $6 + local.get $2 local.get $7 i32.store - local.get $6 + local.get $2 local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 local.get $5 + local.get $6 i32.lt_s if - local.get $3 - local.get $2 + local.get $4 + local.get $5 i32.const 3 i32.shl i32.add @@ -14204,16 +13903,16 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $7 f32.load - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14221,19 +13920,19 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $0 - local.get $6 + local.get $1 + local.get $2 i32.load offset=12 i32.ge_u if - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -14244,8 +13943,8 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.get $0 + local.get $2 + local.get $1 i32.const 1 i32.add local.tee $7 @@ -14253,46 +13952,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 local.get $7 i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 i32.load offset=4 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - local.get $4 + local.get $3 f32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $2 + local.get $5 i32.const 1 i32.add - local.set $2 + local.set $5 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 - local.get $1 + local.get $2 + local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 return end i32.const 34544 @@ -14970,18 +14669,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -15537,8 +15224,8 @@ (func $~lib/set/Set#values (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 f64) + (local $3 f64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -15546,11 +15233,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -15559,14 +15246,14 @@ i32.store local.get $0 i32.load offset=8 - local.set $3 + local.set $4 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store local.get $0 i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -15574,7 +15261,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 i64.store @@ -15585,36 +15272,9 @@ i32.const 16 i32.const 23 call $~lib/rt/itcms/__new - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.tee $2 i32.store local.get $6 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.store offset=12 - local.get $5 i32.const 134217727 i32.gt_u if @@ -15627,8 +15287,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 + local.get $6 + local.get $6 i32.const 8 i32.le_u select @@ -15638,50 +15298,52 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 i32.store offset=12 - local.get $6 + local.get $2 local.get $7 i32.store - local.get $6 + local.get $2 local.get $7 call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $7 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 local.get $6 - i32.store offset=4 - local.get $6 - local.get $5 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 local.get $5 + local.get $6 i32.lt_s if - local.get $3 - local.get $2 + local.get $4 + local.get $5 i32.const 4 i32.shl i32.add @@ -15692,16 +15354,16 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $1 - local.tee $0 + local.get $0 + local.tee $1 i32.const 1 i32.add - local.set $1 + local.set $0 local.get $7 f64.load - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15709,19 +15371,19 @@ global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $0 - local.get $6 + local.get $1 + local.get $2 i32.load offset=12 i32.ge_u if - local.get $0 + local.get $1 i32.const 0 i32.lt_s if @@ -15732,8 +15394,8 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.get $0 + local.get $2 + local.get $1 i32.const 1 i32.add local.tee $7 @@ -15741,46 +15403,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 local.get $7 i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 + local.get $2 i32.load offset=4 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - local.get $4 + local.get $3 f64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $2 + local.get $5 i32.const 1 i32.add - local.set $2 + local.set $5 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 - local.get $1 + local.get $2 + local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 return end i32.const 34544 diff --git a/tests/compiler/std/symbol.debug.wat b/tests/compiler/std/symbol.debug.wat index 9baedf249c..b58e13f02a 100644 --- a/tests/compiler/std/symbol.debug.wat +++ b/tests/compiler/std/symbol.debug.wat @@ -2400,16 +2400,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this i32.load offset=16 @@ -2578,6 +2568,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -2606,16 +2606,6 @@ local.get $entriesCapacity i32.store offset=12 ) - (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store offset=16 - ) - (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store offset=20 - ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -2735,6 +2725,16 @@ local.get $taggedNext i32.store offset=8 ) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store offset=16 + ) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store offset=20 + ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) global.get $~lib/symbol/stringToId @@ -2960,22 +2960,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map<~lib/string/String,usize>#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -4066,22 +4050,6 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesOffset" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $"~lib/map/Map#set:entriesCount" - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/symbol.release.wat b/tests/compiler/std/symbol.release.wat index 39b4ead273..699d8a0915 100644 --- a/tests/compiler/std/symbol.release.wat +++ b/tests/compiler/std/symbol.release.wat @@ -206,7 +206,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$246 + block $__inlined_func$~lib/rt/itcms/Object#unlink$242 local.get $0 i32.load offset=4 i32.const -4 @@ -230,7 +230,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$246 + br $__inlined_func$~lib/rt/itcms/Object#unlink$242 end local.get $0 i32.load offset=8 @@ -2193,7 +2193,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$88 + block $__inlined_func$~lib/util/string/compareImpl$86 loop $while-continue|1 local.get $0 local.tee $3 @@ -2213,7 +2213,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$88 + br_if $__inlined_func$~lib/util/string/compareImpl$86 local.get $2 i32.const 2 i32.add @@ -3511,7 +3511,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$253 + block $__inlined_func$~lib/string/String#concat$249 local.get $1 i32.const 20 i32.sub @@ -3530,7 +3530,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1888 local.set $0 - br $__inlined_func$~lib/string/String#concat$253 + br $__inlined_func$~lib/string/String#concat$249 end global.get $~lib/memory/__stack_pointer local.get $0 @@ -3884,18 +3884,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -3966,18 +3954,6 @@ i32.const 4 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 9b7671a355..3a9a3dfbd7 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -14505,30 +14505,6 @@ local.tee $this i32.store end - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length i32.const 1073741820 local.get $alignLog2 @@ -14550,7 +14526,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store offset=8 + i32.store offset=4 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -14559,7 +14535,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer local.set $4 @@ -14572,7 +14548,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -14580,7 +14556,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=8 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 8dd3afe263..bfe977ef96 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -766,7 +766,7 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$1403 + block $__inlined_func$~lib/rt/itcms/Object#unlink$1400 local.get $0 i32.load offset=4 i32.const -4 @@ -790,7 +790,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$1403 + br $__inlined_func$~lib/rt/itcms/Object#unlink$1400 end local.get $0 i32.load offset=8 @@ -9445,27 +9445,6 @@ local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 local.get $1 i32.const 1073741820 local.get $2 @@ -9487,10 +9466,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=12 @@ -9502,13 +9481,13 @@ call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 local.get $1 i32.store offset=8 @@ -12342,7 +12321,7 @@ i32.lt_s select local.set $0 - block $__inlined_func$~lib/util/bytes/FILL$202 + block $__inlined_func$~lib/util/bytes/FILL$199 local.get $1 i32.eqz local.get $1 @@ -12367,7 +12346,7 @@ i32.shl memory.fill end - br $__inlined_func$~lib/util/bytes/FILL$202 + br $__inlined_func$~lib/util/bytes/FILL$199 end loop $for-loop|0 local.get $0 @@ -35306,7 +35285,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1408 + block $__inlined_func$~lib/util/string/joinIntegerArray$1405 local.get $0 i32.const 1 i32.sub @@ -35320,7 +35299,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1408 + br $__inlined_func$~lib/util/string/joinIntegerArray$1405 end local.get $6 i32.eqz @@ -35333,7 +35312,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1408 + br $__inlined_func$~lib/util/string/joinIntegerArray$1405 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -35426,7 +35405,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1408 + br $__inlined_func$~lib/util/string/joinIntegerArray$1405 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -35560,7 +35539,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl$714 + block $__inlined_func$~lib/util/string/compareImpl$711 loop $while-continue|1 local.get $0 local.tee $3 @@ -35580,7 +35559,7 @@ local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl$714 + br_if $__inlined_func$~lib/util/string/compareImpl$711 local.get $2 i32.const 2 i32.add @@ -35654,7 +35633,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1409 + block $__inlined_func$~lib/util/string/joinIntegerArray$1406 local.get $0 i32.const 1 i32.sub @@ -35668,7 +35647,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1409 + br $__inlined_func$~lib/util/string/joinIntegerArray$1406 end local.get $6 i32.eqz @@ -35681,7 +35660,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1409 + br $__inlined_func$~lib/util/string/joinIntegerArray$1406 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -35774,7 +35753,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1409 + br $__inlined_func$~lib/util/string/joinIntegerArray$1406 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -35869,7 +35848,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1410 + block $__inlined_func$~lib/util/string/joinIntegerArray$1407 local.get $0 i32.const 1 i32.sub @@ -35883,7 +35862,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1410 + br $__inlined_func$~lib/util/string/joinIntegerArray$1407 end local.get $6 i32.eqz @@ -35896,7 +35875,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1410 + br $__inlined_func$~lib/util/string/joinIntegerArray$1407 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -35993,7 +35972,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1410 + br $__inlined_func$~lib/util/string/joinIntegerArray$1407 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -36059,7 +36038,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1411 + block $__inlined_func$~lib/util/string/joinIntegerArray$1408 local.get $0 i32.const 1 i32.sub @@ -36073,7 +36052,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1411 + br $__inlined_func$~lib/util/string/joinIntegerArray$1408 end local.get $6 i32.eqz @@ -36086,7 +36065,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1411 + br $__inlined_func$~lib/util/string/joinIntegerArray$1408 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -36183,7 +36162,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1411 + br $__inlined_func$~lib/util/string/joinIntegerArray$1408 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -36249,7 +36228,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1412 + block $__inlined_func$~lib/util/string/joinIntegerArray$1409 local.get $0 i32.const 1 i32.sub @@ -36263,7 +36242,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1412 + br $__inlined_func$~lib/util/string/joinIntegerArray$1409 end local.get $6 i32.eqz @@ -36276,7 +36255,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1412 + br $__inlined_func$~lib/util/string/joinIntegerArray$1409 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -36373,7 +36352,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1412 + br $__inlined_func$~lib/util/string/joinIntegerArray$1409 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -36439,7 +36418,7 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $__inlined_func$~lib/util/string/joinIntegerArray$1413 + block $__inlined_func$~lib/util/string/joinIntegerArray$1410 local.get $0 i32.const 1 i32.sub @@ -36453,7 +36432,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray$1413 + br $__inlined_func$~lib/util/string/joinIntegerArray$1410 end local.get $6 i32.eqz @@ -36466,7 +36445,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1413 + br $__inlined_func$~lib/util/string/joinIntegerArray$1410 end global.get $~lib/memory/__stack_pointer i32.const 9584 @@ -36563,7 +36542,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray$1413 + br $__inlined_func$~lib/util/string/joinIntegerArray$1410 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -37008,7 +36987,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $__inlined_func$~lib/util/number/utoa64$749 + block $__inlined_func$~lib/util/number/utoa64$746 local.get $3 i64.eqz if @@ -37018,7 +36997,7 @@ global.set $~lib/memory/__stack_pointer i32.const 8000 local.set $1 - br $__inlined_func$~lib/util/number/utoa64$749 + br $__inlined_func$~lib/util/number/utoa64$746 end local.get $3 i64.const 4294967295 diff --git a/tests/compiler/switch.debug.wat b/tests/compiler/switch.debug.wat index 29504e6521..5f36ae38e5 100644 --- a/tests/compiler/switch.debug.wat +++ b/tests/compiler/switch.debug.wat @@ -3301,14 +3301,6 @@ local.get $2 i32.store offset=4 local.get $2 - i32.const 0 - call $switch/FooClass#set:value - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $value call $switch/FooClass#set:value local.get $this @@ -3468,14 +3460,6 @@ local.get $2 i32.store offset=4 local.get $2 - i32.const 0 - call $switch/BarClass#set:value - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $value call $switch/BarClass#set:value local.get $this diff --git a/tests/compiler/switch.release.wat b/tests/compiler/switch.release.wat index 95b2826eb3..ed02a77d96 100644 --- a/tests/compiler/switch.release.wat +++ b/tests/compiler/switch.release.wat @@ -160,7 +160,7 @@ local.get $0 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink$186 + block $__inlined_func$~lib/rt/itcms/Object#unlink$184 local.get $1 i32.load offset=4 i32.const -4 @@ -184,7 +184,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink$186 + br $__inlined_func$~lib/rt/itcms/Object#unlink$184 end local.get $1 i32.load offset=8 @@ -1884,7 +1884,7 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store - block $__inlined_func$~lib/string/String#concat$191 + block $__inlined_func$~lib/string/String#concat$189 local.get $1 i32.const 20 i32.sub @@ -1903,7 +1903,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1296 local.set $0 - br $__inlined_func$~lib/string/String#concat$191 + br $__inlined_func$~lib/string/String#concat$189 end global.get $~lib/memory/__stack_pointer local.get $0 @@ -2061,12 +2061,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -2220,12 +2214,6 @@ local.get $1 i32.store offset=4 local.get $1 - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer From 6af9124168f9ce432f6c86db37584f6f6f7eb38c Mon Sep 17 00:00:00 2001 From: KKiiim Date: Sun, 5 Oct 2025 21:23:16 +0800 Subject: [PATCH 7/7] fix --- src/compiler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler.ts b/src/compiler.ts index 6cb6682511..60e6d636be 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -10420,7 +10420,7 @@ export class Compiler extends DiagnosticEmitter { const valueExpr: ExpressionRef = initializerNode ? this.compileExpression(initializerNode, fieldType, Constraints.ConvImplicit) - : this.makeZero(fieldType); + : this.makeZero(fieldType); if(unmanagedClass || !this.canOptimizeZeroInitialization(valueExpr)) { let expr = this.makeCallDirect(setterInstance, [ module.local_get(thisLocalIndex, sizeTypeRef),